Function at 0x6611b186
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 0x6611b8a0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
call sub.msvcrt.dll_localeconv
mov eax, dword [eax]
mov dword [esp + 0x50], eax
call sub.msvcrt.dll_localeconv
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], ecx
test ecx, ecx
je 0x6611a1af
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 0x6611b771
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 + 0x44], 0
mov dword [esp + 0x3c], ebx
mov ebx, edi
test al, al
js 0x6611a328
mov eax, dword [esp + 0x14]
lea edi, [eax + 1]
movzx eax, byte [eax]
cmp al, 0x25
je 0x6611a3a8
movzx esi, al
mov dword [esp], esi
call sub.msvcrt.dll_isspace
test eax, eax
jne 0x6611a2b8
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611b554
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x6611a265
mov dword [esp], eax
call sub.msvcrt.dll_isspace
test eax, eax
jne 0x6611a6d0
cmp esi, ebx
je 0x6611a390
mov dword [esp], 0
mov ecx, dword [esp + 0x24]
mov eax, ebx
mov edx, dword [esp + 0x20]
call fcn.6611a0c0
jmp case.0x6611aa4e.1
fstp st(0)
jmp case.0x6611aa4e.1
fstp st(0)
jmp case.0x6611aa4e.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 fcn.66119fa0
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 0x6611a202
mov ecx, dword [esp + 0x18]
test ecx, ecx
je case.0x6611aa4e.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 fcn.6611a030
mov dword [esp], eax
mov ebx, eax
call sub.msvcrt.dll_isspace
test eax, eax
jne 0x6611a2f0
mov dword [esp], 0
mov ecx, dword [esp + 0x24]
mov eax, ebx
mov edx, dword [esp + 0x20]
call fcn.6611a0c0
jmp case.0x6611aa4e.1
mov edi, dword [esp + 0x14]
mov dword [esp], edi
call sub.msvcrt.dll_strlen
lea edx, [esp + 0x90]
mov dword [esp], edi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call fcn.66127770
test eax, eax
jle 0x6611a20a
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 fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611b10b
movzx eax, byte [edi]
add edi, 1
cmp ebx, eax
jne 0x6611b10b
cmp edi, esi
jne 0x6611a362
jmp 0x6611a398
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edi
jmp 0x6611a2c4
mov eax, dword [esp + 0x14]
mov dword [esp + 0x48], 0
movzx edx, byte [eax + 1]
mov eax, edx
sub edx, 0x30
cmp edx, 9
jbe 0x6611afd0
mov ecx, dword [esp + 0x34]
xor ebp, ebp
jmp 0x6611a3f3
cmp al, 0x27
je 0x6611a408
cmp al, 0x49
jne 0x6611a440
movzx eax, byte [edi + 1]
cmp al, 0x36
je 0x6611a420
or ebp, 4
cmp al, 0x33
je 0x6611a430
lea esi, [esi]
nop
add edi, 1
cmp al, 0x2a
jne 0x6611a3d0
movzx eax, byte [edi + 1]
or ebp, 0x80
jmp 0x6611a3f0
mov edx, ebp
movzx eax, byte [edi + 1]
or dh, 1
test ecx, ecx
cmovne ebp, edx
jmp 0x6611a3f0
cmp byte [edi + 2], 0x34
je 0x6611a4a8
or ebp, 4
jmp 0x6611a3f0
cmp byte [edi + 2], 0x32
jne 0x6611a3f0
movzx eax, byte [edi + 3]
add edi, 2
jmp 0x6611a3f0
movzx edx, al
mov dword [esp + 0x28], 0
lea ecx, [edx - 0x30]
cmp ecx, 9
ja 0x6611b5ea
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 0x6611a460
test ecx, ecx
mov edx, 0xffffffff
cmovne edx, ecx
mov dword [esp + 0x28], edx
test al, al
je case.0x6611aa4e.1
sub eax, 0x4c
cmp al, 0x2e
ja case.0x6611a49b.1
movzx eax, al
jmp dword [eax*4 + 0x661e8674]
movzx eax, byte [edi + 3]
or ebp, 0xc
add edi, 2
jmp 0x6611a3f0
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.0x6611aa4e.1
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
add eax, 1
mov dword [esp + 0x14], eax
test ecx, ecx
jne 0x6611b040
mov eax, esi
cmp al, 0x5b
jne 0x6611a730
mov esi, ebp
mov eax, ebp
and esi, 0x80
and eax, 4
mov dword [esp + 0x18], eax
jne 0x6611b490
test esi, esi
jne 0x6611a5a8
test ebp, 0x600
je 0x6611c538
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x6611c9e1
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 0x6611c6aa
mov dword [esp], 0x64
call sub.msvcrt.dll_malloc
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
mov dword [ebx], eax
test eax, eax
je 0x6611b4eb
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x6611a576
mov edx, dword [ebx]
mov eax, ebx
lea ecx, [edx + 1]
cmp edx, 0x1f
jbe 0x6611a592
mov dword [esp], 0x88
call sub.msvcrt.dll_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 + 0x44], 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 + 0x48]
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 0x6611a612
mov dword [esp + 0x7c], 0x100
mov edx, 0x100
test eax, eax
je 0x6611a603
mov dword [esp], eax
call fcn.661273a8
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
call sub.msvcrt.dll_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 0x6611bba0
cmp al, 0x2d
je 0x6611bba0
mov dword [esp + 0x14], edx
test al, al
je case.0x6611aa4e.1
mov edx, dword [esp + 0x14]
jmp 0x6611a67f
mov ecx, dword [esp + 0x80]
mov byte [ecx + eax], 1
movzx eax, byte [edx - 1]
test al, al
je case.0x6611aa4e.1
cmp al, 0x5d
je 0x6611bca4
add edx, 1
cmp al, 0x2d
jne 0x6611a668
movzx ebx, byte [edx - 1]
cmp bl, 0x5d
je 0x6611a668
test bl, bl
je 0x6611a668
movzx ecx, byte [edx - 3]
cmp cl, bl
ja 0x6611a668
jae 0x6611ca85
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 0x6611a6a9
jmp 0x6611a677
mov dword [esp + 0x54], edi
movzx esi, byte [edi]
jmp 0x6611a4c5
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x14], esi
jmp 0x6611a6f0
mov dword [esp], eax
call sub.msvcrt.dll_isspace
test eax, eax
je 0x6611b100
mov edx, ebx
mov eax, ebp
call fcn.6611a030
mov esi, eax
cmp eax, 0xffffffff
jne 0x6611a6e0
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 fcn.66119fa0
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
and eax, 0xffffffdf
cmp al, 0x43
je 0x6611a741
mov eax, esi
cmp al, 0x6e
jne 0x6611b040
mov eax, esi
cmp al, 0x63
jne 0x6611a8e0
test ebp, 4
jne case.0x6611aa4e.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 0x6611b500
mov eax, ebp
and eax, 0x600
mov dword [esp + 0x4c], eax
je 0x6611c040
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x6611c774
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 0x6611c6aa
mov ebx, dword [esp + 0x28]
mov eax, 0x400
cmp ebx, 0x400
cmovle eax, ebx
mov dword [esp], eax
mov dword [esp + 0x44], eax
call sub.msvcrt.dll_malloc
mov edi, eax
mov eax, dword [esp + 0x2c]
mov dword [eax], edi
test edi, edi
je 0x6611b4eb
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x6611a7f7
mov edx, dword [ebx]
mov eax, ebx
lea ecx, [edx + 1]
cmp edx, 0x1f
jbe 0x6611a813
mov dword [esp], 0x88
call sub.msvcrt.dll_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 fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611c9fd
mov eax, edi
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x28]
jmp 0x6611a87a
sub edi, 1
mov byte [eax], bl
lea esi, [eax + 1]
test edi, edi
jle 0x6611bef9
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611bef9
mov eax, esi
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x28], ebp
test edx, edx
je 0x6611a850
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
lea esi, [edx + ebp]
cmp eax, esi
jne 0x6611a850
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 sub.msvcrt.dll_realloc
test eax, eax
je 0x6611ccdf
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 0x6611a850
cmp al, 0x73
jne 0x6611aa40
mov eax, ebp
and eax, 4
mov dword [esp + 0x18], eax
jne case.0x6611aa4e.46
mov esi, ebp
and esi, 0x80
jne 0x6611a99e
test ebp, 0x600
je 0x6611bf6d
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x6611c61c
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 0x6611c6aa
mov dword [esp], 0x64
call sub.msvcrt.dll_malloc
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
mov dword [ebx], eax
test eax, eax
je 0x6611b4eb
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x6611a96c
mov edx, dword [ebx]
mov eax, ebx
lea ecx, [edx + 1]
cmp edx, 0x1f
jbe 0x6611a988
mov dword [esp], 0x88
call sub.msvcrt.dll_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 + 0x44], 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 fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611b554
mov edi, ebp
mov dword [esp + 0x48], 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 0x6611aa17
mov ecx, dword [esp + 0x2c]
mov edi, eax
mov edx, dword [ecx]
mov ecx, dword [esp + 0x44]
add ecx, edx
cmp eax, ecx
je 0x6611bf26
test esi, esi
jle 0x6611aa01
sub esi, 1
je 0x6611b8f1
mov eax, dword [esp + 0x20]
mov edx, ebp
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611b8f1
mov dword [esp], ebx
call sub.msvcrt.dll_isspace
test eax, eax
jne 0x6611c070
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x6611a9f4
mov edx, dword [esp + 0x28]
mov byte [edi], bl
lea eax, [edi + 1]
test edx, edx
jne 0x6611a9de
mov edi, eax
jmp 0x6611a9f4
lea eax, [esi - 0x25]
cmp al, 0x53
ja case.0x6611aa4e.1
movzx eax, al
jmp dword [eax*4 + 0x661e8730]
lea eax, [esi - 0x58]
cmp al, 0x20
ja case.0x6611aa5f.1
movzx esi, al
jmp dword [esi*4 + 0x661e8880]
mov dword [esp + 0x10], 8
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611b554
lea eax, [eax - 0x2b]
mov dword [esp + 0x54], 0
and eax, 0xfffffffd
je 0x6611c093
mov eax, dword [esp + 0x28]
test eax, eax
setne dl
cmp ebx, 0x30
jne 0x6611b938
test dl, dl
je 0x6611b938
mov ebx, dword [esp + 0x54]
mov ecx, dword [esp + 0x80]
lea esi, [ebx + 1]
test eax, eax
jle 0x6611c22f
sub eax, 1
lea edi, [esp + 0x7c]
mov dword [esp + 0x28], eax
mov edx, edi
mov eax, ebx
call fcn.66119f20
mov edx, dword [esp + 0x24]
mov dword [esp + 0x80], eax
mov byte [eax + ebx], 0x30
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ecx, dword [esp + 0x28]
mov ebx, eax
test ecx, ecx
jne 0x6611c25a
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], esi
test ecx, ecx
jne 0x6611ab1e
mov dword [esp + 0x10], 8
cmp dword [esp + 0x54], 1
jne 0x6611ab3a
mov eax, dword [esp + 0x80]
movzx eax, byte [eax]
sub eax, 0x2b
test al, 0xfd
je 0x6611a26d
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov eax, ebx
lea edi, [esp + 0x7c]
mov dword [esp], 0
call fcn.6611a0c0
mov edx, edi
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x80]
mov esi, ebp
and esi, 0x10
mov eax, edi
call fcn.66119f20
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 0x6611bee7
test esi, esi
je 0x6611c16a
call fcn.66121070
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 0x84]
cmp dword [esp + 0x80], ecx
je case.0x6611aa4e.1
mov ecx, ebp
and ecx, 0x80
mov dword [esp + 0x18], ecx
jne 0x6611b3d0
test esi, esi
je 0x6611c19b
test edi, edi
jne 0x6611c174
test ebp, 4
jne 0x6611c5fc
test ebp, 2
jne 0x6611ca4c
and ebp, 1
je 0x6611cd0b
cmp dword [esp + 0x48], 0
jne 0x6611ccf4
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 0x6611a2c4
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 0x6611acf5
test ebp, 0x600
je 0x6611b460
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x6611bfa0
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 0x6611c6aa
mov ebx, dword [esp + 0x28]
mov eax, 0x400
cmp ebx, 0x400
cmovle eax, ebx
mov dword [esp + 0x44], eax
add eax, eax
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov dword [ebx], eax
test eax, eax
je 0x6611b4eb
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x6611accb
mov edx, dword [ebx]
mov eax, ebx
lea ecx, [edx + 1]
cmp edx, 0x1f
jbe 0x6611ace7
mov dword [esp], 0x88
call sub.msvcrt.dll_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 fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611b554
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 + 0x48], 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 0x6611adf0
mov eax, dword [esp + 0x54]
test eax, eax
je 0x6611adf0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax]
lea edx, [ecx + ecx]
mov dword [esp + 0x58], eax
lea ecx, [eax + edx]
cmp dword [esp + 0x40], ecx
jne 0x6611adf0
mov eax, dword [esp + 0x28]
mov ecx, eax
sub ecx, 1
cmp dword [esp + 0x44], eax
cmovle ecx, dword [esp + 0x44]
mov eax, ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x44], 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 sub.msvcrt.dll_realloc
test eax, eax
je 0x6611ca9d
mov ecx, dword [esp + 0x2c]
mov edx, ebx
mov ebx, esi
mov esi, edi
mov edi, dword [esp + 0x44]
mov dword [ecx], eax
add eax, edx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x44], 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 + 0x48]
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 fcn.661275d0
cmp eax, 0xfffffffe
jne 0x6611b830
mov edx, ebx
mov eax, edi
call fcn.6611a030
mov esi, eax
cmp eax, 0xffffffff
je 0x6611b0f0
mov byte [esp + 0x8b], al
jmp 0x6611ae09
mov eax, ebp
and eax, 0x80
mov dword [esp + 0x18], eax
jne 0x6611af00
test ebp, 0x600
je 0x6611b430
mov edi, dword [esp + 0x48]
test edi, edi
jne 0x6611bfd8
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 0x6611c6aa
mov dword [esp], 0xc8
call sub.msvcrt.dll_malloc
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov dword [ebx], eax
test eax, eax
je 0x6611b4eb
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x6611aece
mov edx, dword [ebx]
mov eax, ebx
lea ecx, [edx + 1]
cmp edx, 0x1f
jbe 0x6611aeea
mov dword [esp], 0x88
call sub.msvcrt.dll_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 + 0x44], 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 fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611b554
mov eax, ebp
mov dword [esp + 0x58], ebp
lea edi, [esp + 0x98]
mov ebp, dword [esp + 0x20]
and eax, 0x600
mov dword [esp + 0x48], 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 sub.msvcrt.dll_isspace
test eax, eax
jne 0x6611c8a2
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 + 0x48]
mov dword [esp + 8], 1
mov dword [esp], esi
mov dword [esp + 0xc], eax
lea eax, [esp + 0x8b]
mov dword [esp + 4], eax
call fcn.661275d0
cmp eax, 0xfffffffe
jne 0x6611b786
mov edx, ebx
mov eax, ebp
call fcn.6611a030
mov edi, eax
cmp eax, 0xffffffff
je 0x6611b0f0
mov byte [esp + 0x8b], al
jmp 0x6611af80
mov esi, dword [esp + 0x14]
mov dword [esp + 0x48], edx
lea ecx, [esi + 2]
movzx esi, byte [esi + 2]
mov edx, esi
movzx edx, dl
lea ebp, [edx - 0x30]
cmp ebp, 9
ja 0x6611b021
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x48]
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 0x6611b000
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x14]
mov esi, edx
mov eax, ebp
mov edx, esi
cmp dl, 0x24
je 0x6611b5f7
mov dword [esp + 0x48], 0
jmp 0x6611a3c6
call sub.msvcrt.dll__errno
mov edi, dword [eax]
call sub.msvcrt.dll__errno
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x58], edi
mov edi, ebx
mov dword [eax], 0
jmp 0x6611b078
mov dword [esp], eax
call sub.msvcrt.dll_isspace
test eax, eax
je 0x6611b632
cmp edi, 0xffffffff
je 0x6611b091
lea ebx, [esp + 0x78]
mov eax, ebp
mov edx, ebx
call fcn.6611a030
mov edi, eax
cmp eax, 0xffffffff
jne 0x6611b068
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x58]
jmp 0x6611b0b4
mov dword [esp], 0xffffffff
call sub.msvcrt.dll_isspace
test eax, eax
je 0x6611b603
call sub.msvcrt.dll__errno
cmp dword [eax], 4
jne 0x6611b0a0
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 fcn.66119fa0
jmp 0x6611a2aa
call sub.msvcrt.dll__errno
mov dword [eax], 0x2a
jmp case.0x6611aa4e.1
mov ebx, esi
mov esi, dword [esp + 0x14]
jmp 0x6611a265
mov dword [esp], 1
mov ecx, dword [esp + 0x24]
mov eax, ebx
mov edx, dword [esp + 0x20]
call fcn.6611a0c0
jmp 0x6611b0be
movzx esi, byte [edi + 1]
mov eax, esi
cmp al, 0x6c
je 0x6611b8b5
lea eax, [edi + 1]
or ebp, 4
mov dword [esp + 0x54], eax
jmp 0x6611a4c5
movzx esi, byte [edi + 1]
mov eax, esi
and eax, 0xfffffff7
cmp al, 0x53
je 0x6611b157
mov eax, esi
cmp al, 0x73
jne case.0x6611a49b.1
lea eax, [edi + 1]
or ebp, 0x200
mov dword [esp + 0x54], eax
jmp 0x6611a4c5
movzx esi, byte [edi + 1]
mov eax, esi
cmp al, 0x68
je 0x6611b8c8
lea eax, [edi + 1]
or ebp, 2
mov dword [esp + 0x54], eax
jmp 0x6611a4c5
lea eax, [edi + 1]
movzx esi, byte [edi + 1]
or ebp, 0xc
mov dword [esp + 0x54], eax
jmp 0x6611a4c5
movzx esi, byte [edi + 1]
mov eax, esi
cmp al, 0x6c
je 0x6611b8db
lea eax, [edi + 1]
or ebp, 0x400
mov dword [esp + 0x54], eax
jmp 0x6611a4c5
lea eax, [edi + 1]
movzx esi, byte [edi + 1]
or ebp, 8
mov dword [esp + 0x54], eax
jmp 0x6611a4c5
mov eax, ebp
and eax, 0x80
mov dword [esp + 0x18], eax
jne 0x6611b3d0
mov eax, dword [esp + 0x78]
test ebp, 8
je 0x6611c1f8
mov edx, dword [esp + 0x48]
test edx, edx
jne 0x6611c744
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 0x6611a2c4
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 fcn.6611a030
mov dword [esp + 0x64], eax
cmp eax, 0xffffffff
je 0x6611ca8d
mov eax, dword [esp + 0x64]
sub eax, 0x2b
and eax, 0xfffffffd
jne 0x6611bede
mov eax, dword [esp + 0x28]
test eax, eax
je case.0x6611aa4e.1
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je case.0x6611aa4e.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 sub.msvcrt.dll_tolower
cmp eax, 0x6e
je 0x6611c790
cmp eax, 0x69
je 0x6611c37a
mov edi, dword [esp + 0x28]
mov byte [esp + 0x54], 0x65
mov dword [esp + 0x18], 0
test edi, edi
je 0x6611b2c2
cmp ebx, 0x30
je 0x6611c835
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 0x6611b35d
cmp byte [esp + 0x5c], 0
je 0x6611b55b
mov ecx, dword [esp + 0x80]
movzx eax, byte [esp + 0x54]
cmp byte [ecx + ebp - 1], al
je 0x6611b760
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 0x6611b642
test al, al
jne 0x6611b5bf
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x6611b37c
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611bbbf
mov dword [esp + 0x28], edi
lea esi, [esi]
lea eax, [ebx - 0x30]
sub dword [esp + 0x28], 1
cmp eax, 9
ja 0x6611b2e0
mov ecx, dword [esp + 0x80]
mov eax, ebp
lea edx, [esp + 0x7c]
call fcn.66119f20
mov dword [esp + 0x80], eax
mov byte [eax + ebp], bl
add ebp, 1
mov edi, dword [esp + 0x28]
test edi, edi
je 0x6611bbbf
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611bbbf
test edi, edi
jg 0x6611b350
jmp 0x6611b2d8
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611b554
cmp eax, 0x25
jne 0x6611ccc6
mov dword [esp + 0x18], 0
jmp 0x6611a2c4
mov dword [esp + 0x10], 0
or ebp, 0x10
jmp case.0x6611aa5f.1
mov dword [esp + 0x10], 0xa
or ebp, 0x10
jmp case.0x6611aa5f.1
mov dword [esp + 0x10], 0x10
jmp case.0x6611aa5f.1
mov dword [esp + 0x10], 0xa
jmp case.0x6611aa5f.1
mov eax, ebp
mov dword [esp + 0x10], 0x10
and eax, 0xfffffff1
or eax, 0x24
mov ebp, eax
jmp case.0x6611aa5f.1
mov ebx, dword [esp + 0x48]
test ebx, ebx
jne 0x6611bff4
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 0x6611af00
jmp case.0x6611aa4e.1
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x6611bfbc
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 0x6611acf5
jmp case.0x6611aa4e.1
test esi, esi
jne 0x6611a5a8
test ebp, 0x600
je 0x6611c570
mov edi, dword [esp + 0x48]
test edi, edi
jne 0x6611ca15
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 0x6611c6aa
mov dword [esp], 0xc8
call sub.msvcrt.dll_malloc
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov dword [ebx], eax
test eax, eax
jne 0x6611a562
and ebp, 0x400
mov eax, 0xffffffff
cmove eax, dword [esp + 0x30]
jmp 0x6611b0cc
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611c9fd
mov eax, ebx
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
jmp 0x6611b53e
mov edx, esi
mov eax, ebx
call fcn.6611a030
cmp eax, 0xffffffff
je 0x6611b545
sub edi, 1
test edi, edi
jg 0x6611b530
mov dword [esp + 0x18], 0
mov ebx, eax
jmp 0x6611a2c4
mov edi, ebx
jmp 0x6611a702
test byte [esp + 0x58], 0x40
je 0x6611b572
mov dword [esp], ebx
call sub.msvcrt.dll_isxdigit
test eax, eax
jne 0x6611b35d
test ebp, ebp
je 0x6611b301
mov dword [esp], ebx
call sub.msvcrt.dll_tolower
cmp byte [esp + 0x54], al
jne 0x6611b301
mov ecx, dword [esp + 0x80]
mov eax, ebp
lea edx, [esp + 0x7c]
call fcn.66119f20
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 0x6611b37c
mov eax, dword [esp + 0x34]
test eax, eax
je 0x6611c4ce
mov esi, eax
movzx edx, byte [esi]
test dl, dl
jne 0x6611c4ce
mov eax, dword [esp + 0x28]
test eax, eax
cmovle edi, eax
mov dword [esp + 0x28], edi
jmp 0x6611b37c
mov dword [esp + 0x28], 0xffffffff
jmp 0x6611a485
movzx eax, byte [ecx + 1]
lea edi, [ecx + 1]
jmp 0x6611a3c6
lea eax, [esp + 0x78]
mov ebx, 0xffffffff
mov dword [esp + 0x24], eax
call sub.msvcrt.dll__errno
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [eax], edi
mov eax, ebx
mov dword [esp], 0
call fcn.6611a0c0
jmp 0x6611a741
mov dword [esp + 0x24], ebx
mov ebp, dword [esp + 0x18]
mov ebx, edi
mov edi, dword [esp + 0x58]
jmp 0x6611b610
movzx edx, al
mov esi, dword [esp + 0x50]
cmp edx, ebx
jne 0x6611b6a0
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 0x6611b6fd
test ebx, ebx
je 0x6611c36d
mov edx, dword [esp + 0x24]
mov eax, edi
call fcn.6611a030
cmp eax, 0xffffffff
je 0x6611c35a
movzx ebp, byte [esi]
sub ebx, 1
mov edx, ebp
cmp eax, ebp
je 0x6611b660
mov ebp, dword [esp + 0x18]
mov edi, ebx
mov ebx, eax
mov eax, edx
test al, al
je 0x6611b705
test dword [esp + 0x58], 0x100
je 0x6611b5bf
mov eax, esi
sub eax, dword [esp + 0x50]
mov esi, dword [esp + 0x34]
xor ecx, ecx
test eax, eax
jle 0x6611c987
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x34]
jmp 0x6611b6e7
add esi, 1
mov ecx, esi
sub ecx, ebx
cmp ecx, eax
jge 0x6611c470
movzx edx, byte [esi]
cmp dl, byte [ebp + ecx]
je 0x6611b6d8
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
jmp 0x6611b5d0
mov ebp, dword [esp + 0x18]
mov edi, ebx
mov ebx, eax
mov eax, dword [esp + 0x50]
mov esi, ebp
cmp byte [eax], 0
je 0x6611b745
sub eax, ebp
mov ebp, eax
lea esi, [esi]
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x7c]
mov eax, esi
call fcn.66119f20
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 0x6611b718
cmp dword [esp + 0x28], 0
mov ebp, esi
jle 0x6611cb92
mov dword [esp + 0x28], edi
mov byte [esp + 0x60], 1
jmp 0x6611b37c
lea eax, [ebx - 0x2b]
and eax, 0xfffffffd
jne 0x6611b301
jmp 0x6611b364
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
jmp case.0x6611aa4e.1
mov ecx, ebx
mov ebx, edi
mov edi, ecx
cmp eax, 1
jne 0x6611b0f0
mov eax, dword [esp + 0x18]
add dword [esp + 0x40], 2
mov edx, dword [esp + 0x40]
test eax, eax
jne 0x6611b7c5
mov eax, dword [esp + 0x54]
test eax, eax
je 0x6611b7c5
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x2c]
lea ecx, [eax + eax]
mov eax, dword [esi]
add eax, ecx
cmp edx, eax
je 0x6611c8bd
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x6611b7d6
sub eax, 1
mov dword [esp + 0x28], eax
je 0x6611b7ea
mov edx, edi
mov eax, ebp
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
jne 0x6611af56
mov esi, dword [esp + 0x18]
test esi, esi
jne 0x6611b3d0
mov eax, dword [esp + 0x40]
lea esi, [eax + 2]
mov word [eax], 0
mov eax, dword [esp + 0x44]
mov edx, esi
mov ecx, eax
add ecx, eax
mov eax, dword [esp + 0x2c]
call fcn.66119e60
add dword [esp + 0x30], 1
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], 0
jmp 0x6611a2c4
mov ecx, ebx
mov ebx, esi
mov esi, edi
mov edi, ecx
cmp eax, 1
jne 0x6611b0f0
sub dword [esp + 0x28], 1
mov eax, dword [esp + 0x28]
add dword [esp + 0x40], 2
test eax, eax
jle 0x6611b867
mov edx, ecx
mov eax, esi
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
jne 0x6611ad48
cmp dword [esp + 0x18], 0
jne 0x6611b3d0
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov ecx, eax
add ecx, eax
mov eax, dword [esp + 0x2c]
call fcn.66119e60
add dword [esp + 0x30], 1
mov dword [esp + 0x2c], 0
jmp 0x6611a2c4
call sub.msvcrt.dll__errno
mov dword [eax], 0x16
mov eax, 0xffffffff
jmp 0x6611a2aa
lea eax, [edi + 2]
movzx esi, byte [edi + 2]
or ebp, 0xc
mov dword [esp + 0x54], eax
jmp 0x6611a4c5
lea eax, [edi + 2]
movzx esi, byte [edi + 2]
or ebp, 1
mov dword [esp + 0x54], eax
jmp 0x6611a4c5
lea eax, [edi + 2]
movzx esi, byte [edi + 2]
or ebp, 0x404
mov dword [esp + 0x54], eax
jmp 0x6611a4c5
mov dword [esp + 0x4c], edi
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x6611a2c4
mov eax, dword [esp + 0x4c]
mov byte [eax], 0
lea esi, [eax + 1]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x2c]
mov edx, esi
call fcn.66119e60
add dword [esp + 0x30], 1
mov dword [esp + 0x18], 0
mov dword [esp + 0x4c], esi
mov dword [esp + 0x2c], 0
jmp 0x6611a2c4
cmp ebx, 0xffffffff
setne al
and eax, edx
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x6611b950
mov dword [esp + 0x10], 0xa
test al, al
je 0x6611b9f6
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 0x6611b9df
lea eax, [ebx - 0x30]
cmp eax, 9
ja 0x6611ba70
lea eax, [ebx - 0x2f]
cmp dword [esp + 0x10], eax
jl 0x6611ba70
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 fcn.66119f20
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 fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611b9f2
test esi, esi
je 0x6611b9f2
cmp dword [esp + 0x10], 0x10
jne 0x6611b978
mov dword [esp], ebx
call sub.msvcrt.dll_isxdigit
test eax, eax
jne 0x6611b991
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
test edi, edi
jne 0x6611ab1e
test ebp, 0x20
je 0x6611a26d
mov dword [esp], ebx
call sub.msvcrt.dll_tolower
cmp al, 0x28
jne 0x6611a26d
mov esi, 0x661e8661
mov dword [esp + 0x18], ebp
mov edi, dword [esp + 0x20]
mov ebp, esi
mov esi, dword [esp + 0x24]
jmp 0x6611ba51
mov dword [esp], eax
call sub.msvcrt.dll_tolower
cmp byte [ebp], al
jne 0x6611a26d
add ebp, 1
cmp byte [ebp], 0
je 0x6611c715
mov edx, esi
mov eax, edi
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
jne 0x6611ba33
jmp 0x6611a26d
cmp dword [esp + 0x10], 0xa
jne 0x6611b9f2
mov eax, dword [esp + 0x58]
test eax, eax
je 0x6611b9f2
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 0x6611c2a0
mov dword [esp + 0x18], edi
mov eax, ebx
mov ebx, ecx
nop
mov edi, esi
add esi, 1
cmp byte [esi], 0
je 0x6611bb80
test ebx, ebx
je 0x6611bb0b
mov edx, dword [esp + 0x18]
mov eax, ebp
call fcn.6611a030
cmp eax, 0xffffffff
je 0x6611bb8d
movzx edi, byte [esi]
sub ebx, 1
cmp eax, edi
je 0x6611bab0
mov ecx, ebx
mov ebx, eax
mov eax, edi
mov edi, dword [esp + 0x18]
test al, al
jne 0x6611cc51
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 0x6611b99e
mov ebx, eax
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x34], esi
jae 0x6611b9f6
mov dword [esp], 0
mov ecx, dword [esp + 0x24]
mov eax, ebx
lea edi, [esi - 1]
mov edx, dword [esp + 0x20]
call fcn.6611a0c0
cmp dword [esp + 0x34], edi
jae 0x6611bb6e
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 fcn.6611a0c0
cmp ebx, dword [esp + 0x34]
jne 0x6611bb44
mov eax, dword [esp + 0x34]
sub eax, esi
lea edi, [eax + edi + 1]
movzx ebx, byte [edi]
jmp 0x6611b9f6
mov ecx, ebx
mov edi, dword [esp + 0x18]
mov ebx, eax
jmp 0x6611baf2
mov edx, edi
mov ecx, ebx
mov edi, dword [esp + 0x18]
mov ebx, eax
movzx eax, byte [edx + 1]
jmp 0x6611baea
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 0x6611a655
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x18]
test esi, esi
je case.0x6611aa4e.1
test ebp, 0x40
je 0x6611bbe6
cmp dword [esp + 0x18], 2
je case.0x6611aa4e.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 fcn.66119f20
mov dword [esp + 0x80], eax
mov byte [eax + edi], 0
test ebp, 8
jne 0x6611c2f9
mov eax, dword [esp + 0x80]
lea edx, [esp + 0x84]
and ebp, 4
mov dword [esp + 4], edx
mov dword [esp], eax
je 0x6611c2a9
call fcn.6611f850
test esi, esi
jne 0x6611c01a
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
cmp esi, eax
je 0x6611a285
cmp dword [esp + 0x64], 0x2d
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
jne 0x6611bc6f
fchs
mov edx, dword [esp + 0x48]
test edx, edx
jne 0x6611c912
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.0x6611aa4e.1
add dword [esp + 0x30], 1
mov dword [esp + 0x18], 0
jmp 0x6611a2c4
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x5c], eax
test edx, edx
je 0x6611be3b
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611b554
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 0x6611bd45
sub edi, 1
je 0x6611c0dd
mov edx, ebx
mov eax, ebp
call fcn.6611a030
mov edx, eax
cmp eax, 0xffffffff
je 0x6611c0dd
mov eax, dword [esp + 0x80]
movzx ecx, byte [esp + 0x48]
cmp byte [eax + edx], cl
je 0x6611c5c3
test esi, esi
jne 0x6611bd28
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 fcn.661275d0
mov edx, dword [esp + 0x18]
cmp eax, 0xfffffffe
je 0x6611c010
mov eax, dword [esp + 0x60]
add dword [esp + 0x40], 2
test eax, eax
je 0x6611be2e
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x44]
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 0x6611bd28
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], ebx
mov ebx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
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 sub.msvcrt.dll_realloc
test eax, eax
je 0x6611cab8
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 + 0x44], eax
jmp 0x6611bd28
mov dword [esp + 0x54], 0
jmp 0x6611bd28
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611b554
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 0x6611beb0
mov ecx, dword [esp + 0x2c]
mov esi, eax
mov edx, dword [ecx]
mov ecx, dword [esp + 0x44]
add ecx, edx
cmp eax, ecx
je 0x6611c4f1
sub dword [esp + 0x28], 1
je 0x6611c145
mov edx, ebp
mov eax, edi
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611c145
mov eax, dword [esp + 0x80]
movzx ecx, byte [esp + 0x48]
cmp byte [eax + ebx], cl
je 0x6611c5a0
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x6611be91
mov byte [esi], bl
lea eax, [esi + 1]
mov esi, dword [esp + 0x4c]
test esi, esi
jne 0x6611be7b
mov esi, eax
jmp 0x6611be91
mov ebx, dword [esp + 0x64]
jmp 0x6611b28a
test esi, esi
je 0x6611c160
call sub.msvcrt.dll_strtol
jmp 0x6611abb1
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x44], ebp
mov ecx, esi
call fcn.66119e60
add dword [esp + 0x30], 1
mov dword [esp + 0x2c], 0
jmp 0x6611a2c4
mov eax, dword [esp + 0x44]
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 sub.msvcrt.dll_realloc
test eax, eax
je 0x6611cd2d
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
mov ecx, ebx
mov ebx, esi
mov dword [esp + 0x44], ecx
mov esi, ebp
mov ebp, dword [esp + 0x4c]
mov dword [edx], eax
add edi, eax
jmp 0x6611a9f4
mov edi, dword [esp + 0x48]
test edi, edi
jne 0x6611c5e0
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 0x6611a99e
jmp case.0x6611aa4e.1
mov edx, dword [esp + 0x48]
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 0x6611ac79
mov edx, dword [esp + 0x48]
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 0x6611b47d
mov edx, dword [esp + 0x48]
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 0x6611ae90
mov edx, dword [esp + 0x48]
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 0x6611b44d
add dword [esp + 0x54], 1
jmp 0x6611bd31
fstp st(0)
jmp 0x6611c024
fstp st(0)
jmp 0x6611c024
fstp st(0)
mov eax, dword [esp + 0x84]
cmp dword [esp + 0x80], eax
jne 0x6611b3d0
jmp case.0x6611aa4e.1
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x6611c75c
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
add eax, 4
mov dword [esp + 0x3c], eax
test edi, edi
jne 0x6611a821
jmp case.0x6611aa4e.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 + 0x48]
call fcn.6611a0c0
jmp 0x6611b8f9
mov ecx, dword [esp + 0x80]
lea edi, [esp + 0x7c]
xor eax, eax
mov edx, edi
call fcn.66119f20
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 fcn.6611a030
mov dword [esp + 0x54], 1
mov ebx, eax
jmp 0x6611aaa0
mov ebx, edx
mov ecx, dword [esp + 0x54]
test ecx, ecx
jne 0x6611b0f0
mov eax, dword [esp + 0x5c]
cmp dword [esp + 0x78], eax
je case.0x6611aa4e.1
mov dword [esp + 0x18], 0
test esi, esi
jne 0x6611a2c4
mov eax, dword [esp + 0x40]
xor edx, edx
mov word [eax], dx
lea esi, [eax + 2]
mov eax, dword [esp + 0x44]
mov edx, esi
lea ecx, [eax + eax]
mov eax, dword [esp + 0x2c]
call fcn.66119e60
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 0x6611a2c4
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x5c]
cmp dword [esp + 0x78], eax
jne 0x6611b8f9
jmp case.0x6611aa4e.1
call sub.msvcrt.dll_strtoul
jmp 0x6611abb1
call fcn.66119930
jmp 0x6611abad
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x6611c6c8
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 0x6611ac22
test edi, edi
jne 0x6611c174
test ebp, 4
jne 0x6611c5fc
test ebp, 2
jne 0x6611ca4c
and ebp, 1
je 0x6611cb5d
cmp dword [esp + 0x48], 0
je 0x6611ac13
mov edx, dword [esp + 0x48]
xor ecx, ecx
jmp 0x6611c1d8
mov ecx, 1
sub edx, 1
jne 0x6611c1d3
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
test cl, cl
lea edx, [edi + edx*4 - 4]
cmove edx, edi
mov edx, dword [edx]
jmp 0x6611ac20
mov ecx, ebp
and ecx, 4
mov dword [esp + 0x18], ecx
je 0x6611c638
mov ebp, dword [esp + 0x48]
test ebp, ebp
jne 0x6611c9ab
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 0x6611a2c4
mov ebx, dword [esp + 0x54]
lea edi, [esp + 0x7c]
mov edx, edi
mov eax, ebx
call fcn.66119f20
mov edx, dword [esp + 0x24]
mov dword [esp + 0x80], eax
mov byte [eax + ebx], 0x30
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
mov dword [esp], ebx
call sub.msvcrt.dll_tolower
cmp eax, 0x78
je 0x6611c665
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 0x6611c28c
mov dword [esp + 0x10], 8
mov dword [esp + 0x54], esi
test al, al
jne 0x6611b958
jmp 0x6611ab1e
mov esi, dword [esp + 0x34]
jmp 0x6611baea
call fcn.66118d10
test esi, esi
jne 0x6611c01e
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
cmp esi, eax
je 0x6611a289
fld st(0)
mov ebp, dword [esp + 0x48]
cmp dword [esp + 0x64], 0x2d
fchs
fcmovne st(0), st(1)
fstp st(1)
test ebp, ebp
jne 0x6611c94b
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x3c], edx
fstp dword [ecx]
jmp 0x6611bc8a
lea eax, [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.6611f850
test esi, esi
jne 0x6611c022
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
cmp esi, eax
je 0x6611a28d
cmp dword [esp + 0x64], 0x2d
jne 0x6611c33a
fchs
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x6611c9c4
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + 4]
mov ecx, dword [ecx]
fstp xword [ecx]
mov dword [esp + 0x3c], edx
jmp 0x6611bc8a
mov ecx, ebp
mov edi, ebx
mov ebp, dword [esp + 0x18]
mov ebx, eax
movzx eax, byte [ecx + 1]
jmp 0x6611b6a0
mov edi, ebx
mov ebp, dword [esp + 0x18]
mov ebx, eax
jmp 0x6611b6a4
mov ecx, dword [esp + 0x80]
lea edi, [esp + 0x7c]
xor eax, eax
mov esi, 1
mov edx, edi
call fcn.66119f20
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x80], eax
mov byte [eax], bl
jmp 0x6611c3a8
mov esi, edx
test ebp, ebp
je case.0x6611aa4e.1
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je case.0x6611aa4e.1
mov dword [esp], eax
call sub.msvcrt.dll_tolower
mov edx, eax
movsx eax, byte [esi + 0x661e866a]
cmp edx, eax
jne case.0x6611aa4e.1
xor eax, eax
test ebp, ebp
mov ecx, dword [esp + 0x80]
mov edx, edi
setg al
sub ebp, eax
mov eax, esi
call fcn.66119f20
cmp byte [esi + 0x661e866b], 0
lea edx, [esi + 1]
mov dword [esp + 0x80], eax
mov byte [eax + esi], bl
jne 0x6611c3a6
mov eax, ebp
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x18], edx
test eax, eax
je 0x6611bbea
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611bbea
mov dword [esp], eax
call sub.msvcrt.dll_tolower
cmp eax, 0x69
je 0x6611cd42
mov dword [esp], 0
mov ecx, dword [esp + 0x24]
mov eax, ebx
mov edx, dword [esp + 0x20]
call fcn.6611a0c0
jmp 0x6611bbea
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
jne 0x6611b5cd
movzx eax, byte [esi]
mov edx, eax
cmp eax, ebx
jne 0x6611b5d0
mov dword [esp + 0x18], ebp
mov ebp, esi
add esi, 1
cmp byte [esi], 0
je 0x6611cc48
test edi, edi
je 0x6611c4d2
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je 0x6611cc39
movzx eax, byte [esi]
sub edi, 1
mov edx, eax
cmp ebx, eax
je 0x6611c48f
mov ebp, dword [esp + 0x18]
jmp 0x6611b5d0
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 fcn.6611a0c0
jmp 0x6611bbc7
mov eax, dword [esp + 0x44]
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 sub.msvcrt.dll_realloc
test eax, eax
je 0x6611cc5a
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
mov ecx, ebx
mov ebx, edi
mov dword [esp + 0x44], ecx
mov edi, ebp
mov ebp, dword [esp + 0x60]
mov dword [edx], eax
add esi, eax
jmp 0x6611be91
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x6611c92f
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 0x6611a5a8
jmp case.0x6611aa4e.1
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x6611ca69
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 0x6611a5a8
jmp case.0x6611aa4e.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 fcn.6611a0c0
jmp 0x6611c14d
mov dword [esp], 1
mov ebx, edx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov eax, ebx
call fcn.6611a0c0
jmp 0x6611c0df
mov edx, dword [esp + 0x48]
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 0x6611bf8a
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x6611ca31
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x3c], ecx
mov dword [edx], eax
jmp 0x6611ac22
mov edx, dword [esp + 0x48]
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 0x6611a92e
test ebp, 2
je 0x6611c6e1
mov edi, dword [esp + 0x48]
test edi, edi
jne 0x6611cc7a
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x3c], ecx
mov word [edx], ax
jmp 0x6611a2c4
test byte [esp + 0x10], 0xa
jne 0x6611c996
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 fcn.6611a030
test edi, edi
mov dword [esp + 0x10], 0x10
mov ebx, eax
setne al
cmp ebx, 0xffffffff
setne dl
and eax, edx
jmp 0x6611c28c
lea eax, [esp + 0x80]
xor ecx, ecx
lea edx, [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
call fcn.66119fa0
jmp 0x6611a2aa
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, edi
sub ecx, 1
je 0x6611c6da
lea edx, [edi + ecx*4]
mov edx, dword [edx]
jmp 0x6611c18d
and ebp, 1
mov dword [esp + 0x18], ebp
je 0x6611c968
cmp dword [esp + 0x48], 0
jne 0x6611cc20
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 0x6611a2c4
mov ecx, dword [esp + 0x80]
lea edi, [esp + 0x7c]
xor eax, eax
mov ebp, dword [esp + 0x18]
mov edx, edi
call fcn.66119f20
mov dword [esp + 0x54], 1
mov dword [esp + 0x80], eax
mov byte [eax], 0x30
jmp 0x6611ab54
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x38]
sub ecx, 1
lea edx, [edi + ecx*4]
cmove edx, edi
mov edx, dword [edx]
jmp 0x6611b206
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
sub edx, 1
lea eax, [ebx + edx*4]
cmove eax, ebx
mov edi, dword [eax]
jmp 0x6611c059
mov edx, dword [esp + 0x48]
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 0x6611a7a9
mov ecx, dword [esp + 0x80]
lea edi, [esp + 0x7c]
xor eax, eax
mov esi, 1
mov edx, edi
call fcn.66119f20
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x80], eax
mov byte [eax], bl
jmp 0x6611c7c0
mov esi, dword [esp + 0x18]
test ebp, ebp
je case.0x6611aa4e.1
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je case.0x6611aa4e.1
mov dword [esp], eax
call sub.msvcrt.dll_tolower
mov edx, eax
movsx eax, byte [esi + 0x661e8666]
cmp edx, eax
jne case.0x6611aa4e.1
xor eax, eax
test ebp, ebp
mov ecx, dword [esp + 0x80]
mov edx, edi
setg al
sub ebp, eax
mov eax, esi
call fcn.66119f20
lea ecx, [esi + 1]
cmp byte [esi + 0x661e8667], 0
mov dword [esp + 0x80], eax
mov dword [esp + 0x18], ecx
mov byte [eax + esi], bl
jne 0x6611c7bc
mov ebp, dword [esp + 0x54]
jmp 0x6611bbea
mov ecx, dword [esp + 0x80]
lea edi, [esp + 0x7c]
xor eax, eax
mov edx, edi
call fcn.66119f20
mov edx, dword [esp + 0x24]
mov dword [esp + 0x80], eax
mov byte [eax], 0x30
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x6611c87f
sub eax, 1
mov dword [esp + 0x18], 1
mov dword [esp + 0x28], eax
je 0x6611b2c2
mov dword [esp], ebx
call sub.msvcrt.dll_tolower
cmp eax, 0x78
je 0x6611cb9c
mov byte [esp + 0x54], 0x65
mov dword [esp + 0x18], 1
jmp 0x6611b2c2
mov dword [esp], 1
mov ecx, dword [esp + 0x24]
mov eax, ebx
mov edx, dword [esp + 0x20]
call fcn.6611a0c0
jmp 0x6611b7ea
mov eax, dword [esp + 0x44]
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 sub.msvcrt.dll_realloc
test eax, eax
je 0x6611cc6b
mov edx, dword [esp + 0x2c]
mov ecx, edi
mov ebx, ebp
mov dword [esp + 0x44], esi
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x5c]
mov dword [edx], eax
add eax, ecx
mov dword [esp + 0x40], eax
jmp 0x6611b7c5
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, edi
sub ecx, 1
je 0x6611c924
lea edx, [edi + ecx*4]
mov ecx, dword [edx]
mov edx, dword [esp + 0x3c]
jmp 0x6611bc84
mov edx, dword [esp + 0x48]
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 0x6611c555
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, edi
sub ecx, 1
je 0x6611c95d
lea edx, [edi + ecx*4]
mov ecx, dword [edx]
mov edx, dword [esp + 0x3c]
jmp 0x6611c2ee
cmp dword [esp + 0x48], 0
jne 0x6611cc05
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x3c], ecx
mov dword [edx], eax
jmp 0x6611a2c4
jne 0x6611b5bf
mov esi, dword [esp + 0x34]
jmp 0x6611c47e
cmp dword [esp + 0x28], 0
setne al
cmp ebx, 0xffffffff
setne dl
and eax, edx
jmp 0x6611c28c
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, edi
sub ecx, 1
je 0x6611c9bd
lea edx, [edi + ecx*4]
mov edx, dword [edx]
jmp 0x6611c220
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, edi
sub ecx, 1
je 0x6611c9d6
lea edx, [edi + ecx*4]
mov ecx, dword [edx]
mov edx, dword [esp + 0x3c]
jmp 0x6611c34f
mov edx, dword [esp + 0x48]
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 0x6611a538
cmp dword [esp + 0x30], 0
jne case.0x6611aa4e.1
mov dword [esp + 0x30], 0xffffffff
jmp case.0x6611aa4e.1
mov edx, dword [esp + 0x48]
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 0x6611b4c1
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, edi
sub ecx, 1
je 0x6611ca43
lea edx, [edi + ecx*4]
mov edx, dword [edx]
mov dword [edx], eax
jmp 0x6611ac22
mov edx, dword [esp + 0x48]
test edx, edx
jne 0x6611cad3
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x3c], ecx
mov word [edx], ax
jmp 0x6611ac22
mov edx, dword [esp + 0x48]
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 0x6611c58d
movzx eax, bl
jmp 0x6611a67f
mov eax, dword [esp + 0x30]
test eax, eax
cmove eax, dword [esp + 0x64]
jmp 0x6611b0cc
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
cmp ecx, eax
jae 0x6611caec
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], ecx
mov eax, dword [eax]
jmp 0x6611adb4
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jae 0x6611cb04
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
mov ecx, dword [ecx]
jmp 0x6611bdeb
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, edi
sub ecx, 1
je 0x6611cae5
lea edx, [edi + ecx*4]
mov edx, dword [edx]
jmp 0x6611ca61
lea eax, [esp + 0x74]
lea edx, [esp + 0x80]
call fcn.66119ea0
or eax, 0xffffffff
jmp 0x6611a2aa
mov ebp, dword [esp + 0x64]
and ebp, 0x400
je 0x6611cb3b
or eax, 0xffffffff
lea edx, [esp + 0x80]
mov ecx, dword [esp + 0x2c]
mov dword [esp], edx
lea edx, [esp + 0x74]
call fcn.66119fa0
jmp 0x6611a2aa
mov ebp, dword [esp + 0x58]
and ebp, 0x400
jne 0x6611cb10
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x44]
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 0x6611cb13
cmp dword [esp + 0x48], 0
je 0x6611c608
mov edx, dword [esp + 0x48]
xor ecx, ecx
jmp 0x6611cb75
mov ecx, 1
sub edx, 1
jne 0x6611cb70
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
test cl, cl
lea edx, [edi + edx*4 - 4]
cmove edx, edi
mov edx, dword [edx]
jmp 0x6611ca45
mov byte [esp + 0x60], 1
jmp 0x6611b37c
mov ecx, dword [esp + 0x80]
mov edx, edi
mov eax, 1
call fcn.66119f20
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 fcn.6611a030
mov ebx, eax
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x6611cbf3
sub eax, 1
mov byte [esp + 0x54], 0x70
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], 2
jmp 0x6611b2c2
mov byte [esp + 0x54], 0x70
mov dword [esp + 0x18], 2
jmp 0x6611b2c2
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, edi
sub ecx, 1
je 0x6611cc17
lea edx, [edi + ecx*4]
mov edx, dword [edx]
mov dword [edx], eax
jmp 0x6611a2c4
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, edi
sub ecx, 1
je 0x6611cc32
lea edx, [edi + ecx*4]
mov edx, dword [edx]
jmp 0x6611c706
mov ecx, ebp
mov ebp, dword [esp + 0x18]
movzx edx, byte [ecx + 1]
jmp 0x6611b5d0
mov ebp, dword [esp + 0x18]
jmp 0x6611b5d8
mov ebp, dword [esp + 0x5c]
jmp 0x6611bb19
cmp esi, ebx
jae 0x6611cc93
mov eax, dword [esp + 0x2c]
mov ebx, esi
mov edx, dword [eax]
jmp 0x6611c505
cmp ebx, esi
jae 0x6611cb2f
mov esi, ebx
jmp 0x6611c8d4
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, edi
sub ecx, 1
je 0x6611cc8c
lea edx, [edi + ecx*4]
mov edx, dword [edx]
jmp 0x6611c65d
mov ebp, dword [esp + 0x58]
and ebp, 0x400
jne 0x6611cb10
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x44]
mov eax, dword [eax]
mov byte [eax + ebx - 1], 0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], 0
add eax, 1
jmp 0x6611cb13
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [esp], 1
call fcn.6611a0c0
jmp case.0x6611aa4e.1
cmp ebx, esi
jae 0x6611caec
mov eax, dword [esp + 0x2c]
mov esi, ebx
mov edx, dword [eax]
jmp 0x6611a8aa
mov edx, dword [esp + 0x48]
xor ecx, ecx
jmp 0x6611cd01
mov ecx, 1
sub edx, 1
jne 0x6611ccfc
jmp 0x6611c1dd
cmp dword [esp + 0x48], 0
je 0x6611c608
mov edx, dword [esp + 0x48]
xor ecx, ecx
jmp 0x6611cd23
mov ecx, 1
sub edx, 1
jne 0x6611cd1e
jmp 0x6611cb7a
cmp edi, ebx
jae 0x6611ce03
mov eax, dword [esp + 0x2c]
mov ebx, edi
mov edx, dword [eax]
jmp 0x6611bf3a
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x6611cd51
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 fcn.66119f20
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], 0x661e866e
mov dword [esp + 0x80], eax
mov byte [eax + ecx], bl
jmp 0x6611cdf7
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call fcn.6611a030
mov ebx, eax
cmp eax, 0xffffffff
je case.0x6611aa4e.1
mov dword [esp], eax
call sub.msvcrt.dll_tolower
mov edx, eax
mov eax, dword [esp + 0x54]
movsx eax, byte [eax + 1]
cmp edx, eax
jne case.0x6611aa4e.1
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x6611cdbf
sub eax, 1
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x80]
mov edx, edi
mov eax, esi
call fcn.66119f20
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 0x6611bbea
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x28], 0
jne 0x6611cd7e
jmp case.0x6611aa4e.1
mov ebp, dword [esp + 0x54]
and ebp, 0x400
je 0x6611cca3
jmp 0x6611cb10