Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   56 ?? push esi
   8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   83 fe fe ?? cmp esi, 0xfe<254,-2>
   76 0b ?? jbe basic block L3
  
  L2: 68 f4 41 40 00 ?? push 0x004041f4<"string too long">
   ff 15 7c 40 40 00 ?? call dword ds:[0x0040407c<"hL@">]
  
  L3: 39 71 14 ?? cmp dword ds:[ecx + 0x14<20>], esi
   73 13 ?? jae basic block L6
  
  L4: ff 71 10 ?? push dword ds:[ecx + 0x10<16>]
   56 ?? push esi
   e8 6b 01 00 00 ?? call function 0x00401b40
  
  L5: 85 f6 ?? test esi, esi
   5e ?? pop esi
   0f 95 c0 ?? setne al
   5d ?? pop ebp
   c2 08 00 ?? ret 8
  
  L6: 85 f6 ?? test esi, esi
   75 10 ?? jne basic block L10
  
  L7: 83 79 14 10 ?? cmp dword ds:[ecx + 0x14<20>], 0x10<16>
   89 71 10 ?? mov dword ds:[ecx + 0x10<16>], esi
   72 02 ?? jb basic block L9
  
  L8: 8b 09 ?? mov ecx, dword ds:[ecx]
  
  L9: c6 01 00 ?? mov byte ds:[ecx], 0
   85 f6 ?? test esi, esi
  
  L10: 0f 95 c0 ?? setne al
   5e ?? pop esi
   5d ?? pop ebp
   c2 08 00 ?? ret 8
  
  