Function at 0x40f210
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, edx
sub esp, 0xac
mov dword [esp + 0x20], eax
mov eax, dword [eax]
mov dword [esp + 0x14], edx
test eax, eax
mov dword [esp + 0x38], ecx
sete dl
test ebx, ebx
mov dword [esp + 0x74], 0
sete al
mov dword [esp + 0x78], 0
or dl, al
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
jne 0x4109a0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
call sym._localeconv
mov eax, dword [eax]
mov dword [esp + 0x50], eax
call sym._localeconv
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], ecx
test ecx, ecx
je 0x40f29f
cmp byte [ecx], 0
mov eax, 0
cmovne eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
movzx eax, byte [eax]
test al, al
je 0x410871
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x10], 0
xor edi, edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x3c], ebx
mov ebx, edi
test al, al
js 0x40f420
mov eax, dword [esp + 0x14]
lea edi, [eax + 1]
movzx eax, byte [eax]
cmp al, 0x25
je 0x40f4a0
movzx esi, al
mov dword [esp], esi
call sym._isspace
test eax, eax
jne 0x40f3b0
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x410654
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x40f355
mov dword [esp], eax
call sym._isspace
test eax, eax
jne 0x40f7d0
cmp esi, ebx
je 0x40f488
mov edi, ebx
mov dword [esp], 0
mov ecx, dword [esp + 0x24]
mov eax, edi
mov edx, dword [esp + 0x20]
call sym._back_ch
jmp case.0x40fb4e.1
fstp st(0)
jmp case.0x40fb4e.1
fstp st(0)
jmp case.0x40fb4e.1
fstp st(0)
lea eax, [esp + 0x80]
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
call sym._cleanup_return
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], 1
mov eax, dword [esp + 0x14]
movzx eax, byte [eax]
test al, al
jne 0x40f2f2
mov ecx, dword [esp + 0x18]
test ecx, ecx
je case.0x40fb4e.1
lea eax, [esp + 0x78]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov edi, eax
lea esi, [esi]
mov edx, edi
mov eax, esi
call sym._in_ch
mov dword [esp], eax
mov ebx, eax
call sym._isspace
test eax, eax
jne 0x40f3e8
mov dword [esp], 0
mov ecx, dword [esp + 0x24]
mov eax, ebx
mov edx, dword [esp + 0x20]
call sym._back_ch
jmp case.0x40fb4e.1
mov edi, dword [esp + 0x14]
mov dword [esp], edi
call sym._strlen
lea edx, [esp + 0x90]
mov dword [esp], edi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call dbg.mbrlen
test eax, eax
jle 0x40f2fa
lea ebp, [esp + 0x78]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x24], ebp
lea esi, [edi + eax]
mov eax, dword [esp + 0x20]
mov edx, ebp
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x41020b
movzx eax, byte [edi]
add edi, 1
cmp ebx, eax
jne 0x41020b
cmp edi, esi
jne 0x40f45a
jmp 0x40f490
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edi
jmp 0x40f3bc
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], 0
movzx edx, byte [eax + 1]
mov eax, edx
sub edx, 0x30
cmp edx, 9
jbe 0x4100d0
mov ecx, dword [esp + 0x34]
xor ebp, ebp
jmp 0x40f4f3
cmp al, 0x27
je 0x40f508
cmp al, 0x49
jne 0x40f540
movzx eax, byte [edi + 1]
cmp al, 0x36
je 0x40f520
or ebp, 4
cmp al, 0x33
je 0x40f530
lea esi, [esi]
nop
add edi, 1
cmp al, 0x2a
jne 0x40f4d0
movzx eax, byte [edi + 1]
or ebp, 0x80
jmp 0x40f4f0
mov edx, ebp
movzx eax, byte [edi + 1]
or dh, 1
test ecx, ecx
cmovne ebp, edx
jmp 0x40f4f0
cmp byte [edi + 2], 0x34
je 0x40f5a8
or ebp, 4
jmp 0x40f4f0
cmp byte [edi + 2], 0x32
jne 0x40f4f0
movzx eax, byte [edi + 3]
add edi, 2
jmp 0x40f4f0
movzx edx, al
mov dword [esp + 0x28], 0
lea ecx, [edx - 0x30]
cmp ecx, 9
ja 0x4106ea
xor ecx, ecx
lea esi, [esi]
lea eax, [ecx + ecx*4]
add edi, 1
lea ecx, [edx + eax*2 - 0x30]
movzx edx, byte [edi]
lea esi, [edx - 0x30]
mov eax, edx
cmp esi, 9
jbe 0x40f560
test ecx, ecx
mov edx, 0xffffffff
cmovne edx, ecx
mov dword [esp + 0x28], edx
test al, al
je case.0x40fb4e.1
sub eax, 0x4c
cmp al, 0x2e
ja case.0x40f59b.1
movzx eax, al
jmp dword [eax*4 + 0x4d5f54]
movzx eax, byte [edi + 3]
or ebp, 0xc
add edi, 2
jmp 0x40f4f0
lea eax, [edi + 1]
movzx esi, byte [edi + 1]
or ebp, 4
mov dword [esp + 0x54], eax
mov eax, esi
test al, al
je case.0x40fb4e.1
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
add eax, 1
mov dword [esp + 0x14], eax
test ecx, ecx
jne 0x410140
mov eax, esi
cmp al, 0x5b
jne 0x40f830
mov esi, ebp
mov eax, ebp
and esi, 0x80
and eax, 4
mov dword [esp + 0x18], eax
jne 0x410590
test esi, esi
jne 0x40f6a8
test ebp, 0x600
je 0x411638
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x411ae3
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax]
add eax, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4117aa
mov dword [esp], 0x64
call sym._malloc
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
mov dword [ebx], eax
test eax, eax
je 0x4105eb
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x40f676
mov edx, dword [ebx]
mov eax, ebx
lea ecx, [edx + 1]
cmp edx, 0x1f
jbe 0x40f692
mov dword [esp], 0x88
call sym._malloc
mov ecx, 1
xor edx, edx
mov dword [eax], 0
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
mov dword [eax], ecx
mov dword [eax + edx*4 + 8], ebx
mov dword [esp + 0x48], 0x64
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + 1]
lea edx, [ebx + 2]
mov ebx, dword [esp + 0x28]
cmp al, 0x5e
mov eax, 0x7fffffff
cmovne edx, dword [esp + 0x14]
sete byte [esp + 0x44]
test ebx, ebx
cmovns eax, ebx
cmp dword [esp + 0x7c], 0xff
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x80]
ja 0x40f712
mov dword [esp + 0x7c], 0x100
mov edx, 0x100
test eax, eax
je 0x40f703
mov dword [esp], eax
call sym._free
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
call sym._malloc
mov dword [esp + 0x80], eax
lea edi, [eax + 4]
mov dword [eax], 0
mov dword [eax + 0xfc], 0
and edi, 0xfffffffc
sub eax, edi
lea ecx, [eax + 0x100]
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ebx, dword [esp + 0x14]
movzx eax, byte [ebx]
lea edx, [ebx + 1]
cmp al, 0x5d
je 0x410ca0
cmp al, 0x2d
je 0x410ca0
mov dword [esp + 0x14], edx
test al, al
je case.0x40fb4e.1
mov edx, dword [esp + 0x14]
jmp 0x40f77f
mov ecx, dword [esp + 0x80]
mov byte [ecx + eax], 1
movzx eax, byte [edx - 1]
test al, al
je case.0x40fb4e.1
cmp al, 0x5d
je 0x410da4
add edx, 1
cmp al, 0x2d
jne 0x40f768
movzx ebx, byte [edx - 1]
cmp bl, 0x5d
je 0x40f768
test bl, bl
je 0x40f768
movzx ecx, byte [edx - 3]
cmp cl, bl
ja 0x40f768
jae 0x411b87
mov ebx, dword [esp + 0x80]
movzx eax, cl
add ecx, 1
mov byte [ebx + eax], 1
movzx eax, byte [edx - 1]
cmp al, cl
ja 0x40f7a9
jmp 0x40f777
mov dword [esp + 0x54], edi
movzx esi, byte [edi]
jmp 0x40f5c5
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x14], esi
jmp 0x40f7f0
mov dword [esp], eax
call sym._isspace
test eax, eax
je 0x410200
mov edx, ebx
mov eax, ebp
call sym._in_ch
mov esi, eax
cmp eax, 0xffffffff
jne 0x40f7e0
mov edi, eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x74]
test eax, eax
cmovne edi, eax
lea eax, [esp + 0x80]
mov dword [esp], eax
mov eax, edi
call sym._cleanup_return
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
and eax, 0xffffffdf
cmp al, 0x43
je 0x40f841
mov eax, esi
cmp al, 0x6e
jne 0x410140
mov eax, esi
cmp al, 0x63
jne 0x40f9e0
test ebp, 4
jne case.0x40fb4e.30
mov ebx, dword [esp + 0x28]
mov eax, 1
cmp ebx, 0xffffffff
cmovne eax, ebx
mov dword [esp + 0x28], eax
mov eax, ebp
and eax, 0x80
mov dword [esp + 0x18], eax
jne 0x410600
mov eax, ebp
and eax, 0x600
mov dword [esp + 0x4c], eax
je 0x411140
mov esi, dword [esp + 0x44]
test esi, esi
jne 0x411876
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax]
add eax, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x2c]
test ebx, ebx
je 0x4117aa
mov ebx, dword [esp + 0x28]
mov eax, 0x400
cmp ebx, 0x400
cmovle eax, ebx
mov dword [esp], eax
mov dword [esp + 0x48], eax
call sym._malloc
mov edi, eax
mov eax, dword [esp + 0x2c]
mov dword [eax], edi
test edi, edi
je 0x4105eb
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x40f8f7
mov edx, dword [ebx]
mov eax, ebx
lea ecx, [edx + 1]
cmp edx, 0x1f
jbe 0x40f913
mov dword [esp], 0x88
call sym._malloc
mov ecx, 1
xor edx, edx
mov dword [eax], 0
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
mov dword [eax], ecx
mov dword [eax + edx*4 + 8], ebx
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x411aff
mov eax, edi
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0x28]
jmp 0x40f97a
sub edi, 1
mov byte [eax], bl
lea esi, [eax + 1]
test edi, edi
jle 0x410ff9
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x410ff9
mov eax, esi
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x28], ebp
test edx, edx
je 0x40f950
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
lea esi, [edx + ebp]
cmp eax, esi
jne 0x40f950
lea eax, [edi - 1]
cmp ebp, edi
lea ecx, [ebp + 1]
mov dword [esp + 0x28], edi
cmovl eax, ebp
mov edi, ebx
mov ebx, ecx
lea esi, [ebp + eax]
mov dword [esp + 4], esi
mov dword [esp], edx
call sym._realloc
test eax, eax
je 0x411de1
mov ecx, dword [esp + 0x2c]
mov ebx, edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x28], esi
mov dword [ecx], eax
add eax, ebp
mov ebp, esi
jmp 0x40f950
cmp al, 0x73
jne 0x40fb40
mov eax, ebp
and eax, 4
mov dword [esp + 0x18], eax
jne case.0x40fb4e.46
mov esi, ebp
and esi, 0x80
jne 0x40fa9e
test ebp, 0x600
je 0x41106d
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x41171c
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax]
add eax, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4117aa
mov dword [esp], 0x64
call sym._malloc
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
mov dword [ebx], eax
test eax, eax
je 0x4105eb
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x40fa6c
mov edx, dword [ebx]
mov eax, ebx
lea ecx, [edx + 1]
cmp edx, 0x1f
jbe 0x40fa88
mov dword [esp], 0x88
call sym._malloc
mov ecx, 1
xor edx, edx
mov dword [eax], 0
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x48], 0x64
mov dword [eax], ecx
mov dword [eax + edx*4 + 8], ebx
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x410654
mov edi, ebp
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x28]
and edi, 0x600
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x4c]
jmp 0x40fb17
mov ecx, dword [esp + 0x2c]
mov edi, eax
mov edx, dword [ecx]
mov ecx, dword [esp + 0x48]
add ecx, edx
cmp eax, ecx
je 0x411026
test esi, esi
jle 0x40fb01
sub esi, 1
je 0x4109f1
mov eax, dword [esp + 0x20]
mov edx, ebp
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x4109f1
mov dword [esp], ebx
call sym._isspace
test eax, eax
jne 0x411170
mov ecx, dword [esp + 0x44]
test ecx, ecx
jne 0x40faf4
mov edx, dword [esp + 0x28]
mov byte [edi], bl
lea eax, [edi + 1]
test edx, edx
jne 0x40fade
mov edi, eax
jmp 0x40faf4
lea eax, [esi - 0x25]
cmp al, 0x53
ja case.0x40fb4e.1
movzx eax, al
jmp dword [eax*4 + 0x4d6010]
lea eax, [esi - 0x58]
cmp al, 0x20
ja case.0x40fb5f.1
movzx esi, al
jmp dword [esi*4 + 0x4d6160]
mov dword [esp + 0x10], 8
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x410654
lea eax, [eax - 0x2b]
mov dword [esp + 0x54], 0
and eax, 0xfffffffd
je 0x411193
mov eax, dword [esp + 0x28]
test eax, eax
setne dl
cmp ebx, 0x30
jne 0x410a38
test dl, dl
je 0x410a38
mov ebx, dword [esp + 0x54]
mov ecx, dword [esp + 0x80]
lea esi, [ebx + 1]
test eax, eax
jle 0x41132f
sub eax, 1
lea edi, [esp + 0x7c]
mov dword [esp + 0x28], eax
mov edx, edi
mov eax, ebx
call dbg.resize_wbuf
mov edx, dword [esp + 0x24]
mov dword [esp + 0x80], eax
mov byte [eax + ebx], 0x30
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ecx, dword [esp + 0x28]
mov ebx, eax
test ecx, ecx
jne 0x41135a
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], esi
test ecx, ecx
jne 0x40fc1e
mov dword [esp + 0x10], 8
cmp dword [esp + 0x54], 1
jne 0x40fc3a
mov eax, dword [esp + 0x80]
movzx eax, byte [eax]
sub eax, 0x2b
test al, 0xfd
je 0x40f35d
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov eax, ebx
lea edi, [esp + 0x7c]
mov dword [esp], 0
call sym._back_ch
mov edx, edi
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x80]
mov esi, ebp
and esi, 0x10
mov eax, edi
call dbg.resize_wbuf
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x84]
mov dword [esp + 0x80], eax
mov byte [eax + edi], 0
mov eax, dword [esp + 0x80]
mov edi, ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
and edi, 8
je 0x410fe7
test esi, esi
je 0x41126a
call sym._strtoimax
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 0x84]
cmp dword [esp + 0x80], ecx
je case.0x40fb4e.1
mov ecx, ebp
and ecx, 0x80
mov dword [esp + 0x18], ecx
jne 0x4104d0
test esi, esi
je 0x41129b
test edi, edi
jne 0x411274
test ebp, 4
jne 0x4116fc
test ebp, 2
jne 0x411b4e
and ebp, 1
je 0x411e0d
cmp dword [esp + 0x44], 0
jne 0x411df6
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x3c], ecx
mov byte [edx], al
add dword [esp + 0x30], 1
jmp 0x40f3bc
mov ebx, dword [esp + 0x28]
mov eax, 1
cmp ebx, 0xffffffff
cmovne eax, ebx
mov dword [esp + 0x28], eax
mov eax, ebp
and eax, 0x80
mov dword [esp + 0x18], eax
jne 0x40fdf5
test ebp, 0x600
je 0x410560
mov esi, dword [esp + 0x44]
test esi, esi
jne 0x4110a0
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax]
add eax, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x2c]
test ebx, ebx
je 0x4117aa
mov ebx, dword [esp + 0x28]
mov eax, 0x400
cmp ebx, 0x400
cmovle eax, ebx
mov dword [esp + 0x48], eax
add eax, eax
mov dword [esp], eax
call sym._malloc
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov dword [ebx], eax
test eax, eax
je 0x4105eb
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x40fdcb
mov edx, dword [ebx]
mov eax, ebx
lea ecx, [edx + 1]
cmp edx, 0x1f
jbe 0x40fde7
mov dword [esp], 0x88
call sym._malloc
mov ecx, 1
xor edx, edx
mov dword [eax], 0
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
mov dword [eax], ecx
mov dword [eax + edx*4 + 8], ebx
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x410654
lea edi, [esp + 0x98]
and ebp, 0x600
mov esi, dword [esp + 0x20]
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x24]
mov dword [esp + 0x54], ebp
xor ebp, ebp
mov eax, dword [esp + 0x18]
mov byte [esp + 0x8b], bl
test eax, eax
jne 0x40fef0
mov eax, dword [esp + 0x54]
test eax, eax
je 0x40fef0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
mov eax, dword [eax]
lea edx, [ecx + ecx]
mov dword [esp + 0x58], eax
lea ecx, [eax + edx]
cmp dword [esp + 0x40], ecx
jne 0x40fef0
mov eax, dword [esp + 0x28]
mov ecx, eax
sub ecx, 1
cmp dword [esp + 0x48], eax
cmovle ecx, dword [esp + 0x48]
mov eax, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x48], edi
mov edi, esi
mov esi, ebx
mov ebx, edx
add eax, ecx
mov dword [esp + 0x24], eax
lea eax, [ecx + 1]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x24]
mov dword [esp], eax
add ecx, ecx
mov dword [esp + 4], ecx
call sym._realloc
test eax, eax
je 0x411b9f
mov ecx, dword [esp + 0x2c]
mov edx, ebx
mov ebx, esi
mov esi, edi
mov edi, dword [esp + 0x48]
mov dword [ecx], eax
add eax, edx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x48], eax
lea esi, [esi]
mov eax, dword [esp + 0x18]
test eax, eax
mov eax, dword [esp + 0x40]
cmovne eax, ebp
mov dword [esp + 0x24], eax
mov eax, edi
mov edi, esi
mov esi, ebx
mov ebx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], 1
mov dword [esp + 0xc], eax
lea eax, [esp + 0x8b]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call dbg.mbrtowc
cmp eax, 0xfffffffe
jne 0x410930
mov edx, ebx
mov eax, edi
call sym._in_ch
mov esi, eax
cmp eax, 0xffffffff
je 0x4101f0
mov byte [esp + 0x8b], al
jmp 0x40ff09
mov eax, ebp
and eax, 0x80
mov dword [esp + 0x18], eax
jne 0x410000
test ebp, 0x600
je 0x410530
mov edi, dword [esp + 0x44]
test edi, edi
jne 0x4110d8
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax]
add eax, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ebx
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x4117aa
mov dword [esp], 0xc8
call sym._malloc
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov dword [ebx], eax
test eax, eax
je 0x4105eb
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x40ffce
mov edx, dword [ebx]
mov eax, ebx
lea ecx, [edx + 1]
cmp edx, 0x1f
jbe 0x40ffea
mov dword [esp], 0x88
call sym._malloc
mov ecx, 1
xor edx, edx
mov dword [eax], 0
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x48], 0x64
mov dword [eax], ecx
mov dword [eax + edx*4 + 8], ebx
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x410654
mov eax, ebp
mov dword [esp + 0x58], ebp
lea edi, [esp + 0x98]
mov ebp, dword [esp + 0x20]
and eax, 0x600
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x24]
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x54], eax
mov dword [esp], ebx
call sym._isspace
test eax, eax
jne 0x4119a4
mov edx, dword [esp + 0x18]
mov byte [esp + 0x8b], bl
test edx, edx
cmove eax, dword [esp + 0x40]
mov esi, eax
mov eax, edi
mov edi, ebx
mov ebx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], 1
mov dword [esp], esi
mov dword [esp + 0xc], eax
lea eax, [esp + 0x8b]
mov dword [esp + 4], eax
call dbg.mbrtowc
cmp eax, 0xfffffffe
jne 0x410886
mov edx, ebx
mov eax, ebp
call sym._in_ch
mov edi, eax
cmp eax, 0xffffffff
je 0x4101f0
mov byte [esp + 0x8b], al
jmp 0x410080
mov esi, dword [esp + 0x14]
mov dword [esp + 0x44], edx
lea ecx, [esi + 2]
movzx esi, byte [esi + 2]
mov edx, esi
movzx edx, dl
lea ebp, [edx - 0x30]
cmp ebp, 9
ja 0x410121
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x44]
mov ebp, eax
lea esi, [esi]
lea esi, [esi]
add ecx, 1
lea eax, [edi + edi*4]
lea edi, [edx + eax*2 - 0x30]
movzx edx, byte [ecx]
lea esi, [edx - 0x30]
cmp esi, 9
jbe 0x410100
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x14]
mov esi, edx
mov eax, ebp
mov edx, esi
cmp dl, 0x24
je 0x4106f7
mov dword [esp + 0x44], 0
jmp 0x40f4be
call sym.__errno
mov edi, dword [eax]
call sym.__errno
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x58], edi
mov edi, ebx
mov dword [eax], 0
jmp 0x410178
mov dword [esp], eax
call sym._isspace
test eax, eax
je 0x410732
cmp edi, 0xffffffff
je 0x410191
lea ebx, [esp + 0x78]
mov eax, ebp
mov edx, ebx
call sym._in_ch
mov edi, eax
cmp eax, 0xffffffff
jne 0x410168
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x58]
jmp 0x4101b4
mov dword [esp], 0xffffffff
call sym._isspace
test eax, eax
je 0x410703
call sym.__errno
cmp dword [eax], 4
jne 0x4101a0
mov ebx, dword [esp + 0x30]
mov eax, 0xffffffff
test ebx, ebx
cmovne eax, ebx
mov ebx, eax
lea eax, [esp + 0x80]
mov ecx, dword [esp + 0x2c]
mov dword [esp], eax
lea edx, [esp + 0x74]
mov eax, ebx
call sym._cleanup_return
jmp 0x40f39c
call sym.__errno
mov dword [eax], 0x2a
jmp case.0x40fb4e.1
mov ebx, esi
mov esi, dword [esp + 0x14]
jmp 0x40f355
mov dword [esp], 1
mov ecx, dword [esp + 0x24]
mov eax, ebx
mov edx, dword [esp + 0x20]
call sym._back_ch
jmp 0x4101be
movzx esi, byte [edi + 1]
mov eax, esi
cmp al, 0x6c
je 0x4109b5
lea eax, [edi + 1]
or ebp, 4
mov dword [esp + 0x54], eax
jmp 0x40f5c5
movzx esi, byte [edi + 1]
mov eax, esi
and eax, 0xfffffff7
cmp al, 0x53
je 0x410257
mov eax, esi
cmp al, 0x73
jne case.0x40f59b.1
lea eax, [edi + 1]
or ebp, 0x200
mov dword [esp + 0x54], eax
jmp 0x40f5c5
movzx esi, byte [edi + 1]
mov eax, esi
cmp al, 0x68
je 0x4109c8
lea eax, [edi + 1]
or ebp, 2
mov dword [esp + 0x54], eax
jmp 0x40f5c5
lea eax, [edi + 1]
movzx esi, byte [edi + 1]
or ebp, 0xc
mov dword [esp + 0x54], eax
jmp 0x40f5c5
movzx esi, byte [edi + 1]
mov eax, esi
cmp al, 0x6c
je 0x4109db
lea eax, [edi + 1]
or ebp, 0x400
mov dword [esp + 0x54], eax
jmp 0x40f5c5
lea eax, [edi + 1]
movzx esi, byte [edi + 1]
or ebp, 8
mov dword [esp + 0x54], eax
jmp 0x40f5c5
mov eax, ebp
and eax, 0x80
mov dword [esp + 0x18], eax
jne 0x4104d0
mov eax, dword [esp + 0x78]
test ebp, 8
je 0x4112f8
mov edx, dword [esp + 0x44]
test edx, edx
jne 0x411846
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x3c], ecx
mov dword [edx], eax
mov dword [edx + 4], 0
jmp 0x40f3bc
mov ebx, dword [esp + 0x28]
xor eax, eax
test ebx, ebx
setg al
sub ebx, eax
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], ebx
call sym._in_ch
mov dword [esp + 0x64], eax
cmp eax, 0xffffffff
je 0x411b8f
mov eax, dword [esp + 0x64]
sub eax, 0x2b
and eax, 0xfffffffd
jne 0x410fde
mov eax, dword [esp + 0x28]
test eax, eax
je case.0x40fb4e.1
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je case.0x40fb4e.1
mov ecx, dword [esp + 0x28]
xor eax, eax
test ecx, ecx
setg al
sub ecx, eax
mov dword [esp + 0x28], ecx
mov dword [esp], ebx
call sym._tolower
cmp eax, 0x6e
je 0x411892
cmp eax, 0x69
je 0x41147a
mov edi, dword [esp + 0x28]
mov byte [esp + 0x54], 0x65
mov dword [esp + 0x18], 0
test edi, edi
je 0x4103c2
cmp ebx, 0x30
je 0x411937
mov byte [esp + 0x5c], 0
mov byte [esp + 0x60], 0
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + 0x18]
lea esi, [esi]
lea eax, [ebx - 0x30]
cmp eax, 9
jbe 0x41045d
cmp byte [esp + 0x5c], 0
je 0x41065b
mov ecx, dword [esp + 0x80]
movzx eax, byte [esp + 0x54]
cmp byte [ecx + ebp - 1], al
je 0x410860
mov eax, dword [esp + 0x28]
mov edi, 0x7fffffff
test eax, eax
cmovg edi, eax
mov eax, dword [esp + 0x50]
cmp byte [esp + 0x60], 0
movzx eax, byte [eax]
je 0x410742
test al, al
jne 0x4106bf
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x41047c
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x410cbf
mov dword [esp + 0x28], edi
lea esi, [esi]
lea eax, [ebx - 0x30]
sub dword [esp + 0x28], 1
cmp eax, 9
ja 0x4103e0
mov ecx, dword [esp + 0x80]
mov eax, ebp
lea edx, [esp + 0x7c]
call dbg.resize_wbuf
mov dword [esp + 0x80], eax
mov byte [eax + ebp], bl
add ebp, 1
mov edi, dword [esp + 0x28]
test edi, edi
je 0x410cbf
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x410cbf
test edi, edi
jg 0x410450
jmp 0x4103d8
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x410654
cmp eax, 0x25
jne 0x411dc8
mov dword [esp + 0x18], 0
jmp 0x40f3bc
mov dword [esp + 0x10], 0
or ebp, 0x10
jmp case.0x40fb5f.1
mov dword [esp + 0x10], 0xa
or ebp, 0x10
jmp case.0x40fb5f.1
mov dword [esp + 0x10], 0x10
jmp case.0x40fb5f.1
mov dword [esp + 0x10], 0xa
jmp case.0x40fb5f.1
mov eax, ebp
mov dword [esp + 0x10], 0x10
and eax, 0xfffffff1
or eax, 0x24
mov ebp, eax
jmp case.0x40fb5f.1
mov ebx, dword [esp + 0x44]
test ebx, ebx
jne 0x4110f4
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax]
add eax, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebx
mov ecx, dword [esp + 0x40]
test ecx, ecx
jne 0x410000
jmp case.0x40fb4e.1
mov ecx, dword [esp + 0x44]
test ecx, ecx
jne 0x4110bc
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax]
add eax, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebx
mov edx, dword [esp + 0x40]
test edx, edx
jne 0x40fdf5
jmp case.0x40fb4e.1
test esi, esi
jne 0x40f6a8
test ebp, 0x600
je 0x411670
mov edi, dword [esp + 0x44]
test edi, edi
jne 0x411b17
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax]
add eax, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x2c]
test ebx, ebx
je 0x4117aa
mov dword [esp], 0xc8
call sym._malloc
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov dword [ebx], eax
test eax, eax
jne 0x40f662
and ebp, 0x400
mov eax, 0xffffffff
cmove eax, dword [esp + 0x30]
jmp 0x4101cc
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x411aff
mov eax, ebx
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
jmp 0x41063e
mov edx, esi
mov eax, ebx
call sym._in_ch
cmp eax, 0xffffffff
je 0x410645
sub edi, 1
test edi, edi
jg 0x410630
mov dword [esp + 0x18], 0
mov ebx, eax
jmp 0x40f3bc
mov edi, ebx
jmp 0x40f802
test byte [esp + 0x58], 0x40
je 0x410672
mov dword [esp], ebx
call sym._isxdigit
test eax, eax
jne 0x41045d
test ebp, ebp
je 0x410401
mov dword [esp], ebx
call sym._tolower
cmp byte [esp + 0x54], al
jne 0x410401
mov ecx, dword [esp + 0x80]
mov eax, ebp
lea edx, [esp + 0x7c]
call dbg.resize_wbuf
movzx ecx, byte [esp + 0x54]
mov byte [esp + 0x5c], 1
mov dword [esp + 0x80], eax
mov byte [esp + 0x60], 1
mov byte [eax + ebp], cl
add ebp, 1
jmp 0x41047c
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4115ce
mov esi, eax
movzx edx, byte [esi]
test dl, dl
jne 0x4115ce
mov eax, dword [esp + 0x28]
test eax, eax
cmovle edi, eax
mov dword [esp + 0x28], edi
jmp 0x41047c
mov dword [esp + 0x28], 0xffffffff
jmp 0x40f585
movzx eax, byte [ecx + 1]
lea edi, [ecx + 1]
jmp 0x40f4be
lea eax, [esp + 0x78]
mov ebx, 0xffffffff
mov dword [esp + 0x24], eax
call sym.__errno
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [eax], edi
mov eax, ebx
mov dword [esp], 0
call sym._back_ch
jmp 0x40f841
mov dword [esp + 0x24], ebx
mov ebp, dword [esp + 0x18]
mov ebx, edi
mov edi, dword [esp + 0x58]
jmp 0x410710
movzx edx, al
mov esi, dword [esp + 0x50]
cmp edx, ebx
jne 0x4107a0
mov dword [esp + 0x18], ebp
mov eax, ebx
mov ebx, edi
mov edi, dword [esp + 0x20]
lea esi, [esi]
mov ebp, esi
add esi, 1
cmp byte [esi], 0
je 0x4107fd
test ebx, ebx
je 0x41146d
mov edx, dword [esp + 0x24]
mov eax, edi
call sym._in_ch
cmp eax, 0xffffffff
je 0x41145a
movzx ebp, byte [esi]
sub ebx, 1
mov edx, ebp
cmp eax, ebp
je 0x410760
mov ebp, dword [esp + 0x18]
mov edi, ebx
mov ebx, eax
mov eax, edx
test al, al
je 0x410805
test dword [esp + 0x58], 0x100
je 0x4106bf
mov eax, esi
sub eax, dword [esp + 0x50]
mov esi, dword [esp + 0x34]
xor ecx, ecx
test eax, eax
jle 0x411a89
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x34]
jmp 0x4107e7
add esi, 1
mov ecx, esi
sub ecx, ebx
cmp ecx, eax
jge 0x411570
movzx edx, byte [esi]
cmp dl, byte [ebp + ecx]
je 0x4107d8
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
jmp 0x4106d0
mov ebp, dword [esp + 0x18]
mov edi, ebx
mov ebx, eax
mov eax, dword [esp + 0x50]
mov esi, ebp
cmp byte [eax], 0
je 0x410845
sub eax, ebp
mov ebp, eax
lea esi, [esi]
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x7c]
mov eax, esi
call dbg.resize_wbuf
mov edx, esi
add esi, 1
mov dword [esp + 0x80], eax
movzx ecx, byte [ebp + esi - 1]
mov byte [eax + edx], cl
cmp byte [ebp + esi], 0
jne 0x410818
cmp dword [esp + 0x28], 0
mov ebp, esi
jle 0x411c94
mov dword [esp + 0x28], edi
mov byte [esp + 0x60], 1
jmp 0x41047c
lea eax, [ebx - 0x2b]
and eax, 0xfffffffd
jne 0x410401
jmp 0x410464
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
jmp case.0x40fb4e.1
mov ecx, ebx
mov ebx, edi
mov edi, ecx
cmp eax, 1
jne 0x4101f0
mov eax, dword [esp + 0x18]
add dword [esp + 0x40], 2
mov edx, dword [esp + 0x40]
test eax, eax
jne 0x4108c5
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4108c5
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x2c]
lea ecx, [eax + eax]
mov eax, dword [esi]
add eax, ecx
cmp edx, eax
je 0x4119bf
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x4108d6
sub eax, 1
mov dword [esp + 0x28], eax
je 0x4108ea
mov edx, edi
mov eax, ebp
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
jne 0x410056
mov esi, dword [esp + 0x18]
test esi, esi
jne 0x4104d0
mov eax, dword [esp + 0x40]
lea esi, [eax + 2]
mov word [eax], 0
mov eax, dword [esp + 0x48]
mov edx, esi
mov ecx, eax
add ecx, eax
mov eax, dword [esp + 0x2c]
call dbg.optimize_alloc
add dword [esp + 0x30], 1
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], 0
jmp 0x40f3bc
mov ecx, ebx
mov ebx, esi
mov esi, edi
mov edi, ecx
cmp eax, 1
jne 0x4101f0
sub dword [esp + 0x28], 1
mov eax, dword [esp + 0x28]
add dword [esp + 0x40], 2
test eax, eax
jle 0x410967
mov edx, ecx
mov eax, esi
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
jne 0x40fe48
cmp dword [esp + 0x18], 0
jne 0x4104d0
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
mov ecx, eax
add ecx, eax
mov eax, dword [esp + 0x2c]
call dbg.optimize_alloc
add dword [esp + 0x30], 1
mov dword [esp + 0x2c], 0
jmp 0x40f3bc
call sym.__errno
mov dword [eax], 0x16
mov eax, 0xffffffff
jmp 0x40f39c
lea eax, [edi + 2]
movzx esi, byte [edi + 2]
or ebp, 0xc
mov dword [esp + 0x54], eax
jmp 0x40f5c5
lea eax, [edi + 2]
movzx esi, byte [edi + 2]
or ebp, 1
mov dword [esp + 0x54], eax
jmp 0x40f5c5
lea eax, [edi + 2]
movzx esi, byte [edi + 2]
or ebp, 0x404
mov dword [esp + 0x54], eax
jmp 0x40f5c5
mov dword [esp + 0x4c], edi
mov esi, dword [esp + 0x44]
test esi, esi
jne 0x40f3bc
mov eax, dword [esp + 0x4c]
mov byte [eax], 0
lea esi, [eax + 1]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
mov edx, esi
call dbg.optimize_alloc
add dword [esp + 0x30], 1
mov dword [esp + 0x18], 0
mov dword [esp + 0x4c], esi
mov dword [esp + 0x2c], 0
jmp 0x40f3bc
cmp ebx, 0xffffffff
setne al
and eax, edx
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x410a50
mov dword [esp + 0x10], 0xa
test al, al
je 0x410af6
mov eax, ebp
mov dword [esp + 0x5c], ebp
mov edi, dword [esp + 0x24]
and eax, 0x100
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x58], eax
jmp 0x410adf
lea eax, [ebx - 0x30]
cmp eax, 9
ja 0x410b70
lea eax, [ebx - 0x2f]
cmp dword [esp + 0x10], eax
jl 0x410b70
mov eax, dword [esp + 0x54]
mov esi, eax
add eax, 1
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x7c]
mov eax, esi
call dbg.resize_wbuf
mov edx, edi
mov dword [esp + 0x80], eax
mov byte [eax + esi], bl
mov esi, dword [esp + 0x28]
xor eax, eax
test esi, esi
setg al
sub esi, eax
mov eax, ebp
mov dword [esp + 0x28], esi
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x410af2
test esi, esi
je 0x410af2
cmp dword [esp + 0x10], 0x10
jne 0x410a78
mov dword [esp], ebx
call sym._isxdigit
test eax, eax
jne 0x410a91
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
test edi, edi
jne 0x40fc1e
test ebp, 0x20
je 0x40f35d
mov dword [esp], ebx
call sym._tolower
cmp al, 0x28
jne 0x40f35d
mov esi, 0x6e
mov dword [esp + 0x18], ebp
mov edi, 0x4d5f41
mov ebp, dword [esp + 0x20]
mov ebx, esi
jmp 0x410b4f
mov dword [esp], eax
call sym._tolower
cmp bl, al
jne 0x410b61
movzx ebx, byte [edi + 1]
add edi, 1
test bl, bl
je 0x411815
mov edx, dword [esp + 0x24]
mov eax, ebp
call sym._in_ch
mov esi, eax
cmp eax, 0xffffffff
jne 0x410b34
mov edi, esi
jmp 0x40f35f
cmp dword [esp + 0x10], 0xa
jne 0x410af2
mov eax, dword [esp + 0x58]
test eax, eax
je 0x410af2
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
mov ecx, 0x7fffffff
movzx edx, byte [esi]
test eax, eax
cmovg ecx, eax
mov eax, edx
cmp edx, ebx
jne 0x4113a0
mov dword [esp + 0x18], edi
mov eax, ebx
mov ebx, ecx
nop
mov edi, esi
add esi, 1
cmp byte [esi], 0
je 0x410c80
test ebx, ebx
je 0x410c0b
mov edx, dword [esp + 0x18]
mov eax, ebp
call sym._in_ch
cmp eax, 0xffffffff
je 0x410c8d
movzx edi, byte [esi]
sub ebx, 1
cmp eax, edi
je 0x410bb0
mov ecx, ebx
mov ebx, eax
mov eax, edi
mov edi, dword [esp + 0x18]
test al, al
jne 0x411d53
mov eax, dword [esp + 0x28]
test eax, eax
cmovle ecx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x28], ecx
lea esi, [eax - 1]
jmp 0x410a9e
mov ebx, eax
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x34], esi
jae 0x410af6
mov dword [esp], 0
mov ecx, dword [esp + 0x24]
mov eax, ebx
lea edi, [esi - 1]
mov edx, dword [esp + 0x20]
call sym._back_ch
cmp dword [esp + 0x34], edi
jae 0x410c6e
mov ebx, edi
movzx eax, byte [ebx]
mov dword [esp], 1
sub ebx, 1
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
call sym._back_ch
cmp ebx, dword [esp + 0x34]
jne 0x410c44
mov eax, dword [esp + 0x34]
sub eax, esi
lea edi, [eax + edi + 1]
movzx ebx, byte [edi]
jmp 0x410af6
mov ecx, ebx
mov edi, dword [esp + 0x18]
mov ebx, eax
jmp 0x410bf2
mov edx, edi
mov ecx, ebx
mov edi, dword [esp + 0x18]
mov ebx, eax
movzx eax, byte [edx + 1]
jmp 0x410bea
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x80]
add ebx, 2
mov byte [edx + eax], 1
movzx eax, byte [ebx - 1]
mov dword [esp + 0x14], ebx
jmp 0x40f755
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x18]
test esi, esi
je case.0x40fb4e.1
test ebp, 0x40
je 0x410ce6
cmp dword [esp + 0x18], 2
je case.0x40fb4e.1
lea edi, [esp + 0x7c]
mov edx, edi
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x80]
mov esi, ebp
and esi, 0x80
mov eax, edi
call dbg.resize_wbuf
mov dword [esp + 0x80], eax
mov byte [eax + edi], 0
test ebp, 8
jne 0x4113f9
mov eax, dword [esp + 0x80]
lea edx, [esp + 0x84]
and ebp, 4
mov dword [esp + 4], edx
mov dword [esp], eax
je 0x4113a9
call dbg.__strtold
test esi, esi
jne 0x41111a
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
cmp esi, eax
je 0x40f377
cmp dword [esp + 0x64], 0x2d
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
jne 0x410d6f
fchs
mov edx, dword [esp + 0x44]
test edx, edx
jne 0x411a14
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x3c], edx
fstp qword [ecx]
cmp eax, esi
je case.0x40fb4e.1
add dword [esp + 0x30], 1
mov dword [esp + 0x18], 0
jmp 0x40f3bc
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x5c], eax
test edx, edx
je 0x410f3b
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x410654
mov eax, ebp
lea edi, [esp + 0x98]
mov dword [esp + 0x64], ebp
mov edx, ebx
and eax, 0x600
mov dword [esp + 0x58], edi
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x98], 0
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x9c], 0
mov edi, dword [esp + 0x28]
mov dword [esp + 0x54], 0
mov dword [esp + 0x60], eax
jmp 0x410e45
sub edi, 1
je 0x4111dd
mov edx, ebx
mov eax, ebp
call sym._in_ch
mov edx, eax
cmp eax, 0xffffffff
je 0x4111dd
mov eax, dword [esp + 0x80]
movzx ecx, byte [esp + 0x44]
cmp byte [eax + edx], cl
je 0x4116c3
test esi, esi
jne 0x410e28
mov eax, dword [esp + 0x58]
mov dword [esp + 8], 1
mov byte [esp + 0x8b], dl
mov dword [esp + 0xc], eax
lea eax, [esp + 0x8b]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], edx
mov dword [esp], eax
call dbg.mbrtowc
mov edx, dword [esp + 0x18]
cmp eax, 0xfffffffe
je 0x411110
mov eax, dword [esp + 0x60]
add dword [esp + 0x40], 2
test eax, eax
je 0x410f2e
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x54], 0
mov ecx, dword [ecx]
add eax, eax
mov dword [esp + 0x28], eax
add eax, ecx
cmp dword [esp + 0x40], eax
jne 0x410e28
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], ebx
mov ebx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
add eax, 1
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
mov dword [esp], ecx
add eax, eax
mov dword [esp + 4], eax
call sym._realloc
test eax, eax
je 0x411bba
mov ecx, dword [esp + 0x2c]
mov edx, ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x54], 0
mov dword [ecx], eax
add eax, dword [esp + 0x28]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
jmp 0x410e28
mov dword [esp + 0x54], 0
jmp 0x410e28
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x410654
mov ecx, ebp
mov dword [esp + 0x58], ebp
mov edi, dword [esp + 0x20]
and ecx, 0x600
mov dword [esp + 0x54], esi
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x4c], ecx
jmp 0x410fb0
mov ecx, dword [esp + 0x2c]
mov esi, eax
mov edx, dword [ecx]
mov ecx, dword [esp + 0x48]
add ecx, edx
cmp eax, ecx
je 0x4115f1
sub dword [esp + 0x28], 1
je 0x411245
mov edx, ebp
mov eax, edi
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x411245
mov eax, dword [esp + 0x80]
movzx ecx, byte [esp + 0x44]
cmp byte [eax + ebx], cl
je 0x4116a0
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x410f91
mov byte [esi], bl
lea eax, [esi + 1]
mov esi, dword [esp + 0x4c]
test esi, esi
jne 0x410f7b
mov esi, eax
jmp 0x410f91
mov ebx, dword [esp + 0x64]
jmp 0x41038a
test esi, esi
je 0x411260
call sym._strtol
jmp 0x40fcb1
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x48], ebp
mov ecx, esi
call dbg.optimize_alloc
add dword [esp + 0x30], 1
mov dword [esp + 0x2c], 0
jmp 0x40f3bc
mov eax, dword [esp + 0x48]
mov dword [esp + 0x4c], ebp
mov ebp, esi
mov esi, ebx
lea ecx, [eax + eax]
lea edi, [eax + 1]
mov ebx, ecx
mov dword [esp + 4], ebx
mov dword [esp], edx
call sym._realloc
test eax, eax
je 0x411e2f
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
mov ecx, ebx
mov ebx, esi
mov dword [esp + 0x48], ecx
mov esi, ebp
mov ebp, dword [esp + 0x4c]
mov dword [edx], eax
add edi, eax
jmp 0x40faf4
mov edi, dword [esp + 0x44]
test edi, edi
jne 0x4116e0
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax]
add eax, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x40fa9e
jmp case.0x40fb4e.1
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
sub edx, 1
lea eax, [ebx + edx*4]
cmove eax, ebx
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
jmp 0x40fd79
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
sub edx, 1
lea eax, [ebx + edx*4]
cmove eax, ebx
mov eax, dword [eax]
mov dword [esp + 0x40], eax
jmp 0x41057d
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
sub edx, 1
lea eax, [ebx + edx*4]
cmove eax, ebx
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
jmp 0x40ff90
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
sub edx, 1
lea eax, [ebx + edx*4]
cmove eax, ebx
mov eax, dword [eax]
mov dword [esp + 0x40], eax
jmp 0x41054d
add dword [esp + 0x54], 1
jmp 0x410e31
fstp st(0)
jmp 0x411124
fstp st(0)
jmp 0x411124
fstp st(0)
mov eax, dword [esp + 0x84]
cmp dword [esp + 0x80], eax
jne 0x4104d0
jmp case.0x40fb4e.1
mov ecx, dword [esp + 0x44]
test ecx, ecx
jne 0x41185e
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
add eax, 4
mov dword [esp + 0x3c], eax
test edi, edi
jne 0x40f921
jmp case.0x40fb4e.1
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov eax, ebx
mov dword [esp + 0x4c], edi
mov dword [esp], 1
mov esi, dword [esp + 0x44]
call sym._back_ch
jmp 0x4109f9
mov ecx, dword [esp + 0x80]
lea edi, [esp + 0x7c]
xor eax, eax
mov edx, edi
call dbg.resize_wbuf
mov edx, dword [esp + 0x24]
mov dword [esp + 0x80], eax
mov byte [eax], bl
mov ebx, dword [esp + 0x28]
xor eax, eax
test ebx, ebx
setg al
sub ebx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], ebx
call sym._in_ch
mov dword [esp + 0x54], 1
mov ebx, eax
jmp 0x40fba0
mov ebx, edx
mov ecx, dword [esp + 0x54]
test ecx, ecx
jne 0x4101f0
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x78]
je case.0x40fb4e.1
mov dword [esp + 0x18], 0
test esi, esi
jne 0x40f3bc
mov eax, dword [esp + 0x40]
xor edx, edx
mov word [eax], dx
lea esi, [eax + 2]
mov eax, dword [esp + 0x48]
mov edx, esi
lea ecx, [eax + eax]
mov eax, dword [esp + 0x2c]
call dbg.optimize_alloc
mov eax, dword [esp + 0x54]
add dword [esp + 0x30], 1
mov dword [esp + 0x40], esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], 0
jmp 0x40f3bc
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x78]
jne 0x4109f9
jmp case.0x40fb4e.1
call sym._strtoul
jmp 0x40fcb1
call sym._strtoumax
jmp 0x40fcad
mov esi, dword [esp + 0x44]
test esi, esi
jne 0x4117c8
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x3c], ecx
mov dword [edx], eax
mov eax, dword [esp + 0x68]
mov dword [edx + 4], eax
jmp 0x40fd22
test edi, edi
jne 0x411274
test ebp, 4
jne 0x4116fc
test ebp, 2
jne 0x411b4e
and ebp, 1
je 0x411c5f
cmp dword [esp + 0x44], 0
je 0x40fd13
mov edx, dword [esp + 0x44]
xor ecx, ecx
jmp 0x4112d8
mov ecx, 1
sub edx, 1
jne 0x4112d3
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
test cl, cl
lea edx, [edi + edx*4 - 4]
cmove edx, edi
mov edx, dword [edx]
jmp 0x40fd20
mov ecx, ebp
and ecx, 4
mov dword [esp + 0x18], ecx
je 0x411738
mov ebp, dword [esp + 0x44]
test ebp, ebp
jne 0x411aad
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x3c], ecx
mov dword [edx], eax
mov dword [esp + 0x18], 0
jmp 0x40f3bc
mov ebx, dword [esp + 0x54]
lea edi, [esp + 0x7c]
mov edx, edi
mov eax, ebx
call dbg.resize_wbuf
mov edx, dword [esp + 0x24]
mov dword [esp + 0x80], eax
mov byte [eax + ebx], 0x30
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
mov dword [esp], ebx
call sym._tolower
cmp eax, 0x78
je 0x411765
mov edi, dword [esp + 0x28]
test edi, edi
setne al
cmp ebx, 0xffffffff
setne dl
and eax, edx
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x41138c
mov dword [esp + 0x10], 8
mov dword [esp + 0x54], esi
test al, al
jne 0x410a58
jmp 0x40fc1e
mov esi, dword [esp + 0x34]
jmp 0x410bea
call dbg.__strtof
test esi, esi
jne 0x41111e
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
cmp esi, eax
je 0x40f37b
fld st(0)
mov ebp, dword [esp + 0x44]
cmp dword [esp + 0x64], 0x2d
fchs
fcmovne st(0), st(1)
fstp st(1)
test ebp, ebp
jne 0x411a4d
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x3c], edx
fstp dword [ecx]
jmp 0x410d8a
lea eax, [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call dbg.__strtold
test esi, esi
jne 0x411122
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
cmp esi, eax
je 0x40f37f
cmp dword [esp + 0x64], 0x2d
jne 0x41143a
fchs
mov ecx, dword [esp + 0x44]
test ecx, ecx
jne 0x411ac6
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + 4]
mov ecx, dword [ecx]
fstp xword [ecx]
mov dword [esp + 0x3c], edx
jmp 0x410d8a
mov ecx, ebp
mov edi, ebx
mov ebp, dword [esp + 0x18]
mov ebx, eax
movzx eax, byte [ecx + 1]
jmp 0x4107a0
mov edi, ebx
mov ebp, dword [esp + 0x18]
mov ebx, eax
jmp 0x4107a4
mov ecx, dword [esp + 0x80]
lea edi, [esp + 0x7c]
xor eax, eax
mov esi, 1
mov edx, edi
call dbg.resize_wbuf
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x80], eax
mov byte [eax], bl
jmp 0x4114a8
mov esi, edx
test ebp, ebp
je case.0x40fb4e.1
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je case.0x40fb4e.1
mov dword [esp], eax
call sym._tolower
mov edx, eax
movsx eax, byte [esi + 0x4d5f4a]
cmp edx, eax
jne case.0x40fb4e.1
xor eax, eax
test ebp, ebp
mov ecx, dword [esp + 0x80]
mov edx, edi
setg al
sub ebp, eax
mov eax, esi
call dbg.resize_wbuf
cmp byte [esi + 0x4d5f4b], 0
lea edx, [esi + 1]
mov dword [esp + 0x80], eax
mov byte [eax + esi], bl
jne 0x4114a6
mov eax, ebp
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x18], edx
test eax, eax
je 0x410cea
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x410cea
mov dword [esp], eax
call sym._tolower
cmp eax, 0x69
je 0x411e44
mov dword [esp], 0
mov ecx, dword [esp + 0x24]
mov eax, ebx
mov edx, dword [esp + 0x20]
call sym._back_ch
jmp 0x410cea
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
jne 0x4106cd
movzx eax, byte [esi]
mov edx, eax
cmp ebx, eax
jne 0x4106d0
mov dword [esp + 0x18], ebp
mov ebp, esi
add esi, 1
cmp byte [esi], 0
je 0x411d4a
test edi, edi
je 0x4115d2
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je 0x411d3b
movzx eax, byte [esi]
sub edi, 1
mov edx, eax
cmp ebx, eax
je 0x41158f
mov ebp, dword [esp + 0x18]
jmp 0x4106d0
mov dword [esp + 0x18], ebp
mov dword [esp], 0
mov ecx, dword [esp + 0x24]
mov eax, ebx
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x58]
call sym._back_ch
jmp 0x410cc7
mov eax, dword [esp + 0x48]
mov dword [esp + 0x60], ebp
mov ebp, edi
mov edi, ebx
lea ecx, [eax + eax]
lea esi, [eax + 1]
mov ebx, ecx
mov dword [esp + 4], ebx
mov dword [esp], edx
call sym._realloc
test eax, eax
je 0x411d5c
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
mov ecx, ebx
mov ebx, edi
mov dword [esp + 0x48], ecx
mov edi, ebp
mov ebp, dword [esp + 0x60]
mov dword [edx], eax
add esi, eax
jmp 0x410f91
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x411a31
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax]
add eax, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x40f6a8
jmp case.0x40fb4e.1
mov ecx, dword [esp + 0x44]
test ecx, ecx
jne 0x411b6b
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax]
add eax, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebx
mov edx, dword [esp + 0x40]
test edx, edx
jne 0x40f6a8
jmp case.0x40fb4e.1
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov eax, ebx
mov dword [esp + 0x4c], esi
mov dword [esp], 1
mov esi, dword [esp + 0x54]
call sym._back_ch
jmp 0x41124d
mov dword [esp], 1
mov ebx, edx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov eax, ebx
call sym._back_ch
jmp 0x4111df
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
sub edx, 1
lea eax, [ebx + edx*4]
cmove eax, ebx
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
jmp 0x41108a
mov ecx, dword [esp + 0x44]
test ecx, ecx
jne 0x411b33
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x3c], ecx
mov dword [edx], eax
jmp 0x40fd22
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
sub edx, 1
lea eax, [ebx + edx*4]
cmove eax, ebx
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
jmp 0x40fa2e
test ebp, 2
je 0x4117e1
mov edi, dword [esp + 0x44]
test edi, edi
jne 0x411d7c
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x3c], ecx
mov word [edx], ax
jmp 0x40f3bc
test byte [esp + 0x10], 0xa
jne 0x411a98
mov edi, dword [esp + 0x28]
xor eax, eax
mov edx, dword [esp + 0x24]
test edi, edi
setg al
sub edi, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], edi
call sym._in_ch
test edi, edi
mov dword [esp + 0x10], 0x10
mov ebx, eax
setne al
cmp ebx, 0xffffffff
setne dl
and eax, edx
jmp 0x41138c
lea eax, [esp + 0x80]
xor ecx, ecx
lea edx, [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
call sym._cleanup_return
jmp 0x40f39c
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, edi
sub ecx, 1
je 0x4117da
lea edx, [edi + ecx*4]
mov edx, dword [edx]
jmp 0x41128d
and ebp, 1
mov dword [esp + 0x18], ebp
je 0x411a6a
cmp dword [esp + 0x44], 0
jne 0x411d22
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x3c], ecx
mov byte [edx], al
mov dword [esp + 0x18], 0
jmp 0x40f3bc
mov ecx, dword [esp + 0x80]
lea edi, [esp + 0x7c]
xor eax, eax
mov ebx, esi
mov edx, edi
mov ebp, dword [esp + 0x18]
call dbg.resize_wbuf
mov dword [esp + 0x54], 1
mov dword [esp + 0x80], eax
mov byte [eax], 0x30
jmp 0x40fc54
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x38]
sub ecx, 1
lea edx, [edi + ecx*4]
cmove edx, edi
mov edx, dword [edx]
jmp 0x410306
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
sub edx, 1
lea eax, [ebx + edx*4]
cmove eax, ebx
mov edi, dword [eax]
jmp 0x411159
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
sub edx, 1
lea eax, [ebx + edx*4]
cmove eax, ebx
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
jmp 0x40f8a9
mov ecx, dword [esp + 0x80]
lea edi, [esp + 0x7c]
xor eax, eax
mov esi, 1
mov edx, edi
call dbg.resize_wbuf
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x80], eax
mov byte [eax], bl
jmp 0x4118c2
mov esi, dword [esp + 0x18]
test ebp, ebp
je case.0x40fb4e.1
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je case.0x40fb4e.1
mov dword [esp], eax
call sym._tolower
mov edx, eax
movsx eax, byte [esi + 0x4d5f46]
cmp edx, eax
jne case.0x40fb4e.1
xor eax, eax
test ebp, ebp
mov ecx, dword [esp + 0x80]
mov edx, edi
setg al
sub ebp, eax
mov eax, esi
call dbg.resize_wbuf
lea ecx, [esi + 1]
cmp byte [esi + 0x4d5f47], 0
mov dword [esp + 0x80], eax
mov dword [esp + 0x18], ecx
mov byte [eax + esi], bl
jne 0x4118be
mov ebp, dword [esp + 0x54]
jmp 0x410cea
mov ecx, dword [esp + 0x80]
lea edi, [esp + 0x7c]
xor eax, eax
mov edx, edi
call dbg.resize_wbuf
mov edx, dword [esp + 0x24]
mov dword [esp + 0x80], eax
mov byte [eax], 0x30
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x411981
sub eax, 1
mov dword [esp + 0x18], 1
mov dword [esp + 0x28], eax
je 0x4103c2
mov dword [esp], ebx
call sym._tolower
cmp eax, 0x78
je 0x411c9e
mov byte [esp + 0x54], 0x65
mov dword [esp + 0x18], 1
jmp 0x4103c2
mov dword [esp], 1
mov ecx, dword [esp + 0x24]
mov eax, ebx
mov edx, dword [esp + 0x20]
call sym._back_ch
jmp 0x4108ea
mov eax, dword [esp + 0x48]
mov dword [esp + 0x40], ebp
mov esi, ecx
mov ebp, ebx
mov dword [esp + 0x5c], edi
mov edi, ecx
lea edx, [eax + 1]
mov ebx, edx
lea eax, [esi + esi]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [esp], eax
call sym._realloc
test eax, eax
je 0x411d6d
mov edx, dword [esp + 0x2c]
mov ecx, edi
mov ebx, ebp
mov dword [esp + 0x48], esi
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x5c]
mov dword [edx], eax
add eax, ecx
mov dword [esp + 0x40], eax
jmp 0x4108c5
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, edi
sub ecx, 1
je 0x411a26
lea edx, [edi + ecx*4]
mov ecx, dword [edx]
mov edx, dword [esp + 0x3c]
jmp 0x410d84
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
sub edx, 1
lea eax, [ebx + edx*4]
cmove eax, ebx
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
jmp 0x411655
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, edi
sub ecx, 1
je 0x411a5f
lea edx, [edi + ecx*4]
mov ecx, dword [edx]
mov edx, dword [esp + 0x3c]
jmp 0x4113ee
cmp dword [esp + 0x44], 0
jne 0x411d07
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x3c], ecx
mov dword [edx], eax
jmp 0x40f3bc
jne 0x4106bf
mov esi, dword [esp + 0x34]
jmp 0x41157e
cmp dword [esp + 0x28], 0
setne al
cmp ebx, 0xffffffff
setne dl
and eax, edx
jmp 0x41138c
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, edi
sub ecx, 1
je 0x411abf
lea edx, [edi + ecx*4]
mov edx, dword [edx]
jmp 0x411320
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, edi
sub ecx, 1
je 0x411ad8
lea edx, [edi + ecx*4]
mov ecx, dword [edx]
mov edx, dword [esp + 0x3c]
jmp 0x41144f
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
sub edx, 1
lea eax, [ebx + edx*4]
cmove eax, ebx
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
jmp 0x40f638
cmp dword [esp + 0x30], 0
jne case.0x40fb4e.1
mov dword [esp + 0x30], 0xffffffff
jmp case.0x40fb4e.1
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
sub edx, 1
lea eax, [ebx + edx*4]
cmove eax, ebx
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
jmp 0x4105c1
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, edi
sub ecx, 1
je 0x411b45
lea edx, [edi + ecx*4]
mov edx, dword [edx]
mov dword [edx], eax
jmp 0x40fd22
mov edx, dword [esp + 0x44]
test edx, edx
jne 0x411bd5
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x3c], ecx
mov word [edx], ax
jmp 0x40fd22
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
sub edx, 1
lea eax, [ebx + edx*4]
cmove eax, ebx
mov eax, dword [eax]
mov dword [esp + 0x40], eax
jmp 0x41168d
movzx eax, bl
jmp 0x40f77f
mov eax, dword [esp + 0x30]
test eax, eax
cmove eax, dword [esp + 0x64]
jmp 0x4101cc
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
cmp ecx, eax
jae 0x411bee
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], ecx
mov eax, dword [eax]
jmp 0x40feb4
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jae 0x411c06
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
mov ecx, dword [ecx]
jmp 0x410eeb
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, edi
sub ecx, 1
je 0x411be7
lea edx, [edi + ecx*4]
mov edx, dword [edx]
jmp 0x411b63
lea eax, [esp + 0x74]
lea edx, [esp + 0x80]
call dbg.release_ptrs
or eax, 0xffffffff
jmp 0x40f39c
mov ebp, dword [esp + 0x64]
and ebp, 0x400
je 0x411c3d
or eax, 0xffffffff
lea edx, [esp + 0x80]
mov ecx, dword [esp + 0x2c]
mov dword [esp], edx
lea edx, [esp + 0x74]
call sym._cleanup_return
jmp 0x40f39c
mov ebp, dword [esp + 0x58]
and ebp, 0x400
jne 0x411c12
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x48]
mov eax, dword [eax]
mov word [eax + ebx*2 - 2], 0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], 0
add eax, 1
jmp 0x411c15
cmp dword [esp + 0x44], 0
je 0x411708
mov edx, dword [esp + 0x44]
xor ecx, ecx
jmp 0x411c77
mov ecx, 1
sub edx, 1
jne 0x411c72
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
test cl, cl
lea edx, [edi + edx*4 - 4]
cmove edx, edi
mov edx, dword [edx]
jmp 0x411b47
mov byte [esp + 0x60], 1
jmp 0x41047c
mov ecx, dword [esp + 0x80]
mov edx, edi
mov eax, 1
call dbg.resize_wbuf
mov edx, dword [esp + 0x24]
mov dword [esp + 0x80], eax
mov byte [eax + 1], bl
mov eax, ebp
and ah, 0xfe
or eax, 0x40
mov ebp, eax
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x411cf5
sub eax, 1
mov byte [esp + 0x54], 0x70
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], 2
jmp 0x4103c2
mov byte [esp + 0x54], 0x70
mov dword [esp + 0x18], 2
jmp 0x4103c2
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, edi
sub ecx, 1
je 0x411d19
lea edx, [edi + ecx*4]
mov edx, dword [edx]
mov dword [edx], eax
jmp 0x40f3bc
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, edi
sub ecx, 1
je 0x411d34
lea edx, [edi + ecx*4]
mov edx, dword [edx]
jmp 0x411806
mov ecx, ebp
mov ebp, dword [esp + 0x18]
movzx edx, byte [ecx + 1]
jmp 0x4106d0
mov ebp, dword [esp + 0x18]
jmp 0x4106d8
mov ebp, dword [esp + 0x5c]
jmp 0x410c19
cmp esi, ebx
jae 0x411d95
mov eax, dword [esp + 0x2c]
mov ebx, esi
mov edx, dword [eax]
jmp 0x411605
cmp ebx, esi
jae 0x411c31
mov esi, ebx
jmp 0x4119d6
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, edi
sub ecx, 1
je 0x411d8e
lea edx, [edi + ecx*4]
mov edx, dword [edx]
jmp 0x41175d
mov ebp, dword [esp + 0x58]
and ebp, 0x400
jne 0x411c12
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x48]
mov eax, dword [eax]
mov byte [eax + ebx - 1], 0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], 0
add eax, 1
jmp 0x411c15
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [esp], 1
call sym._back_ch
jmp case.0x40fb4e.1
cmp ebx, esi
jae 0x411bee
mov eax, dword [esp + 0x2c]
mov esi, ebx
mov edx, dword [eax]
jmp 0x40f9aa
mov edx, dword [esp + 0x44]
xor ecx, ecx
jmp 0x411e03
mov ecx, 1
sub edx, 1
jne 0x411dfe
jmp 0x4112dd
cmp dword [esp + 0x44], 0
je 0x411708
mov edx, dword [esp + 0x44]
xor ecx, ecx
jmp 0x411e25
mov ecx, 1
sub edx, 1
jne 0x411e20
jmp 0x411c7c
cmp edi, ebx
jae 0x411f05
mov eax, dword [esp + 0x2c]
mov ebx, edi
mov edx, dword [eax]
jmp 0x41103a
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x411e53
sub eax, 1
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x18]
mov edx, edi
add esi, 2
call dbg.resize_wbuf
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], 0x4d5f4e
mov dword [esp + 0x80], eax
mov byte [eax + ecx], bl
jmp 0x411ef9
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call sym._in_ch
mov ebx, eax
cmp eax, 0xffffffff
je case.0x40fb4e.1
mov dword [esp], eax
call sym._tolower
mov edx, eax
mov eax, dword [esp + 0x54]
movsx eax, byte [eax + 1]
cmp edx, eax
jne case.0x40fb4e.1
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x411ec1
sub eax, 1
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x80]
mov edx, edi
mov eax, esi
call dbg.resize_wbuf
add dword [esp + 0x54], 1
lea ecx, [esi + 1]
mov dword [esp + 0x80], eax
mov byte [eax + esi], bl
mov eax, dword [esp + 0x54]
mov dword [esp + 0x18], ecx
cmp byte [eax + 1], 0
je 0x410cea
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x28], 0
jne 0x411e80
jmp case.0x40fb4e.1
mov ebp, dword [esp + 0x54]
and ebp, 0x400
je 0x411da5
jmp 0x411c12