Function at 0x40c9e0
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x45f610
push eax
mov eax, 0x3f08
mov dword fs:[0], esp
call fcn.0045ed70
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov dword [esp + 0x20], ebp
mov al, byte [ebp + 0xdba8]
mov dword [esp + 0x40], 0
test al, al
je 0x40ca29
mov ebx, dword [ebp + 0xdbb4]
jmp 0x40ca2b
xor ebx, ebx
test al, al
mov dword [esp + 0x18], ebx
je 0x40ca4a
mov edx, dword [ebp + 0xdbc0]
mov ecx, dword [ebp + 0xdbbc]
xor eax, eax
test edx, edx
setg al
add eax, ecx
jmp 0x40ca4d
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x24], eax
sub eax, ebx
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0xac]
lea ecx, [eax + 0x7ffffedc]
cmp ecx, 0x18
ja case.0x40ca74.2147483345
xor edx, edx
mov dl, byte [ecx + 0x410c98]
jmp dword [edx*4 + 0x410c68]
mov edx, dword [ebp + 0xb4]
mov ecx, dword [ebp + 0xb8]
lea esi, [ebp + 4]
mov dword [esp + 0x20c], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x208], esi
lea esi, [ebp + 0xf582]
xor edi, edi
cmp ebx, edx
mov dword [esp + 0x210], esi
mov dword [esp + 0x220], ebx
mov dword [esp + 0x224], edx
mov dword [esp + 0x218], edi
mov dword [esp + 0x214], ecx
mov dword [esp + 0x228], edi
mov dword [esp + 0x22c], edi
mov dword [esp + 0x230], edi
mov dword [esp + 0x234], edi
mov dword [esp + 0x238], edi
mov dword [esp + 0x23c], edi
mov dword [esp + 0x240], edi
mov dword [esp + 0x244], edi
mov dword [esp + 0x248], edi
mov dword [esp + 0x24c], edi
mov dword [esp + 0x250], edi
mov dword [esp + 0x254], edi
mov dword [esp + 0x258], edi
mov dword [esp + 0x25c], edi
mov dword [esp + 0x260], edi
mov dword [esp + 0x264], edi
mov dword [esp + 0x268], edi
mov dword [esp + 0x26c], 3
mov dword [esp + 0x270], edi
mov dword [esp + 0x274], edi
mov dword [esp + 0x278], edi
mov dword [esp + 0x27c], 0x2e
jne 0x40cb74
mov dword [esp + 0x20c], edi
mov dword [esp + 0x21c], eax
lea eax, [esp + 0xe0c]
push 0x400
push eax
push str.POINTX
push str.MATHOPS
mov ecx, 0x473414
mov byte [esp + 0x290], 0
mov byte [esp + 0x690], 0
call fcn.00441a30
push eax
call fcn.0044b210
fstp qword [esp + 0x22c]
add esp, 4
lea ecx, [esp + 0xe0c]
push 0x400
push ecx
push str.POINTY
push str.MATHOPS
mov ecx, 0x473414
call fcn.00441a30
push eax
call fcn.0044b210
fstp qword [esp + 0x234]
add esp, 4
lea edx, [esp + 0xe0c]
mov ecx, 0x473414
push 0x400
push edx
push str.POINTZ
push str.MATHOPS
call fcn.00441a30
push eax
call fcn.0044b210
fstp qword [esp + 0x23c]
add esp, 4
lea eax, [esp + 0xe0c]
mov ecx, 0x473414
push 0x400
push eax
push str.ANGLE
push str.MATHOPS
call fcn.00441a30
push eax
call fcn.0044b210
fstp qword [esp + 0x264]
add esp, 4
lea ecx, [esp + 0xe0c]
push 0x400
push ecx
push str.OFFSET
push str.MATHOPS
mov ecx, 0x473414
call fcn.00441a30
push eax
call fcn.0044b210
add esp, 4
mov ecx, 0x473414
fstp qword [esp + 0x258]
push 3
push edi
push edi
push str.ARCTYPE
push str.MATHOPS
call fcn.00441b50
push 6
push edi
push 3
push str.DIGITS
push str.MATHOPS
mov ecx, 0x473414
mov dword [esp + 0x27c], eax
call fcn.00441b50
push edi
push 0x470144
push str.MATHOPS
mov ecx, 0x473414
mov dword [esp + 0x278], eax
call fcn.00441d50
neg al
sbb eax, eax
push edi
push str.STRIPTRAIL
neg eax
push str.MATHOPS
mov ecx, 0x473414
mov dword [esp + 0x27c], eax
call fcn.00441d50
neg al
sbb eax, eax
push edi
neg eax
push str.DEFAULTG91
push str.MATHOPS
mov ecx, 0x473414
mov dword [esp + 0x280], eax
call fcn.00441d50
neg al
sbb eax, eax
push edi
neg eax
push str.USECOMMA
push str.MATHOPS
mov ecx, 0x473414
mov dword [esp + 0x284], eax
call fcn.00441d50
neg al
sbb al, al
push edi
and al, 0xfe
push str.SELECTION
add al, 0x2e
push str.MATHOPS
movsx edx, al
mov ecx, 0x473414
mov dword [esp + 0x288], edx
call fcn.00441d50
test al, al
jne 0x40cd76
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x220], edi
mov dword [esp + 0x224], eax
push 1
push 0x474060
push str.NCFunc.dll
lea ecx, [esp + 0x1618]
call fcn.0043b190
push str.ExecFunc
lea ecx, [esp + 0x1610]
mov dword [esp + 0x3f24], edi
call fcn.0043b260
test eax, eax
je 0x40cdc8
lea ecx, [esp + 0x208]
push ecx
push str.ExecFunc
lea ecx, [esp + 0x1614]
call fcn.0043b260
call eax
add esp, 4
mov eax, dword [ebp + 0x70]
mov edx, dword [ebp + 0xdb84]
xor cl, cl
cmp edx, eax
jl 0x40cde0
dec eax
mov cl, 1
mov dword [ebp + 0xdb84], eax
cmp dword [ebp + 0xdb84], edi
jge 0x40cdee
mov dword [ebp + 0xdb84], edi
test cl, cl
je 0x40ce3b
mov esi, dword [ebp + 0xdb98]
mov eax, esi
cdq
sub eax, edx
mov edx, eax
mov eax, dword [ebp + 0xdb84]
sar edx, 1
sub eax, edx
jns 0x40ce13
mov dword [ebp + 0xdb90], edi
jmp 0x40ce2d
mov ecx, dword [ebp + 0x70]
sub ecx, esi
lea edx, [ecx - 1]
cmp eax, edx
jle 0x40ce27
mov dword [ebp + 0xdb90], ecx
jmp 0x40ce2d
mov dword [ebp + 0xdb90], eax
cmp dword [ebp + 0xdb90], edi
jge 0x40ce3b
mov dword [ebp + 0xdb90], edi
lea ecx, [esp + 0x160c]
mov dword [ebp + 0xdb80], edi
mov dword [esp + 0x3f20], 0xffffffff
call fcn.0043b240
jmp case.0x40ca74.2147483345
xor edx, edx
mov eax, dword [str._.0f]
mov dword [esp + 0xcd], edx
mov cl, byte [0x470104]
mov dword [esp + 0xd1], edx
mov dword [esp + 0xc8], eax
mov word [esp + 0xd5], dx
mov eax, dword [str._.1f]
mov byte [esp + 0xd7], dl
mov dword [esp + 0xdd], edx
mov dword [esp + 0xe1], edx
mov dword [esp + 0xd8], eax
mov word [esp + 0xe5], dx
mov eax, dword [str._.2f]
mov byte [esp + 0xe7], dl
mov dword [esp + 0xed], edx
mov dword [esp + 0xf1], edx
mov byte [esp + 0xcc], cl
mov word [esp + 0xf5], dx
mov cl, byte [0x4700fc]
mov byte [esp + 0xf7], dl
mov dword [esp + 0xfd], edx
mov dword [esp + 0x101], edx
mov dword [esp + 0xe8], eax
mov eax, dword [0x4700e8]
mov word [esp + 0x105], dx
mov byte [esp + 0x107], dl
mov dword [esp + 0x10d], edx
mov dword [esp + 0x111], edx
mov byte [esp + 0xdc], cl
mov cl, byte [0x4700f4]
mov word [esp + 0x115], dx
mov byte [esp + 0x117], dl
mov dword [esp + 0xf8], eax
mov eax, dword [str._.4f]
mov dword [esp + 0x11d], edx
mov byte [esp + 0xec], cl
mov cl, byte [0x4700ec]
mov dword [esp + 0x121], edx
mov dword [esp + 0x108], eax
mov eax, dword [str._.5f]
mov byte [esp + 0xfc], cl
mov cl, byte [0x4700e4]
mov word [esp + 0x125], dx
mov dword [esp + 0x118], eax
mov eax, dword [str._.6f]
mov byte [esp + 0x127], dl
mov byte [esp + 0x10c], cl
mov cl, byte [0x4700dc]
mov dword [esp + 0x12d], edx
mov dword [esp + 0x128], eax
mov al, byte [ebp + 0x101e8]
mov dword [esp + 0x131], edx
mov byte [esp + 0x11c], cl
mov cl, byte [0x4700d4]
mov word [esp + 0x135], dx
test al, al
mov byte [esp + 0x12c], cl
mov byte [esp + 0x137], dl
jne 0x40cff2
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x78], eax
mov al, byte [ebp + 0x101c0]
mov edi, dword [sym.imp.MSVCRT.dll_toupper]
lea esi, [ebp + 0x101c0]
mov ebx, 2
test al, al
je 0x40d03a
mov ebp, dword [sym.imp.MSVCRT.dll_tolower]
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0x101e4], ebx
jne 0x40d027
movsx edx, al
push edx
call ebp
jmp 0x40d02d
movsx eax, al
push eax
call edi
add esp, 4
mov byte [esi], al
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x40d013
mov esi, dword [esp + 0x20]
push 6
push 0
mov ecx, dword [esi + 0x101b8]
push ecx
call fcn.0044b330
mov dword [esi + 0x101b8], eax
mov eax, dword [esi + 0x101bc]
mov ecx, dword [esp + 0x30]
add esp, 0xc
shr eax, 0x1a
and al, 1
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x18]
cmp eax, ecx
mov dword [esp + 0x2c], eax
jge 0x40d6d2
mov edx, dword [esp + 0x2c]
or eax, 0xffffffff
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
push edx
lea ecx, [eax + 4]
call fcn.004022c0
test eax, eax
je 0x40d6bd
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x208]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xor ebp, ebp
mov esi, edi
mov ebx, ecx
mov edi, edx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov dword [esp + 0x44], eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov bl, byte [eax]
test bl, bl
je 0x40d64c
mov esi, edx
movsx eax, bl
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
je 0x40d604
lea eax, [esi + ebp + 1]
mov edi, ebp
mov dword [esp + 0x34], eax
movsx eax, byte [eax]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
je 0x40d1f1
movsx ecx, byte [esi + ebp + 2]
mov ebx, dword [sym.imp.MSVCRT.dll_isalpha]
add ebp, 2
push ecx
mov dword [esp + 0x38], ebp
call ebx
add esp, 4
test eax, eax
je 0x40d138
movsx edx, byte [esi + ebp + 1]
inc ebp
push edx
call ebx
add esp, 4
test eax, eax
jne 0x40d128
mov al, byte [esp + 0x17]
test al, al
je 0x40d605
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x101e4]
test ecx, ecx
jne 0x40d186
cmp edi, ebp
mov esi, edi
jge 0x40d17a
mov ebx, dword [esp + 0x44]
movsx ecx, byte [esi + ebx]
push ecx
call dword [sym.imp.MSVCRT.dll_toupper]
mov edx, esi
add esp, 4
sub edx, edi
inc esi
cmp esi, ebp
mov byte [esp + edx + 0xe0c], al
jl 0x40d15c
sub esi, edi
mov byte [esp + esi + 0xe0c], 0
jmp 0x40d1a9
cmp edi, ebp
mov eax, edi
jge 0x40d19f
mov dl, byte [eax + esi]
mov ecx, eax
sub ecx, edi
inc eax
cmp eax, ebp
mov byte [esp + ecx + 0xe0c], dl
jl 0x40d18c
sub eax, edi
mov byte [esp + eax + 0xe0c], 0
mov eax, dword [esp + 0x20]
lea esi, [eax + 0x101c0]
lea eax, [esp + 0xe0c]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x40d1e2
test cl, cl
je 0x40d1de
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x40d1e2
add eax, 2
add esi, 2
test cl, cl
jne 0x40d1ba
xor eax, eax
jmp 0x40d1e7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40d605
jmp 0x40d240
movsx eax, bl
push eax
call dword [sym.imp.MSVCRT.dll_toupper]
mov cl, al
mov edx, 1
sub ecx, 0x41
add esp, 4
shl edx, cl
mov ecx, dword [esp + 0x20]
test dword [ecx + 0x101bc], edx
je 0x40d604
mov ecx, dword [ecx + 0x101e4]
test ecx, ecx
jle 0x40d23f
cmp al, bl
jne 0x40d22f
xor eax, eax
cmp ecx, 2
jmp 0x40d234
xor eax, eax
cmp ecx, 1
sete al
test eax, eax
jne 0x40d604
inc ebp
fld qword [0x464ca8]
mov ecx, dword [esp + 0x44]
xor dl, dl
xor esi, esi
mov byte [esp + 0x14], dl
xor bl, bl
mov al, byte [ecx + ebp]
cmp al, 0x20
je 0x40d25f
cmp al, 9
jne 0x40d262
inc ebp
jmp 0x40d254
lea eax, [ecx + ebp]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x64], eax
mov al, byte [eax]
cmp al, 0x2d
jne 0x40d27d
fstp st(0)
fld qword [0x464ca0]
jmp 0x40d286
cmp al, 0x2b
jne 0x40d287
mov byte [esp + 0x14], 1
inc ebp
mov al, byte [ecx + ebp]
cmp al, 0x30
jl 0x40d2d1
cmp al, 0x39
jg 0x40d2d1
movsx eax, al
sub eax, 0x30
inc ebp
mov dword [esp + 0x54], eax
mov al, byte [ecx + ebp]
fild dword [esp + 0x54]
cmp al, 0x30
jl 0x40d2cd
cmp al, 0x39
jg 0x40d2cd
movsx edx, al
sub edx, 0x30
mov al, byte [ecx + ebp + 1]
mov dword [esp + 0x54], edx
inc ebp
fild dword [esp + 0x54]
fxch st(1)
fmul qword [0x464c98]
cmp al, 0x30
faddp st(1)
jge 0x40d2a8
mov dl, 1
jmp 0x40d2d7
fld qword [0x464c90]
mov al, byte [ecx + ebp]
cmp al, 0x2e
je 0x40d2e2
cmp al, 0x2c
jne 0x40d32e
fld qword [0x464c88]
inc ebp
mov bl, al
mov al, byte [ecx + ebp]
cmp al, 0x30
jl 0x40d317
cmp al, 0x39
jg 0x40d317
movsx eax, al
sub eax, 0x30
inc ebp
mov dword [esp + 0x54], eax
inc esi
fild dword [esp + 0x54]
mov al, byte [ecx + ebp]
cmp al, 0x30
fmul st(1)
faddp st(2)
fmul qword [0x464c88]
jge 0x40d2f2
test dl, dl
jne 0x40d32a
fcomp qword [0x464c88]
fnstsw ax
test ah, 0x40
je 0x40d32c
jmp 0x40d32e
fstp st(0)
mov dl, 1
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0xac], 0x8000012f
jne 0x40d348
fmul st(1)
fadd qword [ecx + 0x101a0]
jmp 0x40d350
fmul qword [ecx + 0x101a0]
fmul st(1)
fstp qword [esp + 0x34]
fstp st(0)
fld qword [esp + 0x34]
fcomp qword [ecx + 0x101b0]
fnstsw ax
test ah, 0x41
jne 0x40d375
mov eax, dword [ecx + 0x101b0]
mov ecx, dword [ecx + 0x101b4]
jmp 0x40d392
fld qword [esp + 0x34]
fcomp qword [ecx + 0x101a8]
fnstsw ax
test ah, 1
je 0x40d39a
mov eax, dword [ecx + 0x101a8]
mov ecx, dword [ecx + 0x101ac]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
test dl, dl
je 0x40d605
mov edi, dword [esp + 0x20]
mov al, byte [edi + 0x101eb]
test al, al
je 0x40d4ab
push 6
push 0
push esi
call fcn.0044b330
mov ecx, eax
mov al, byte [esp + 0x20]
add esp, 0xc
test al, al
je 0x40d412
fld qword [esp + 0x34]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40d412
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
shl ecx, 4
push edx
push eax
lea ecx, [esp + ecx + 0xd0]
lea edx, [esp + 0x151]
push ecx
push edx
mov byte [esp + 0x158], 0x2b
call dword [sym.imp.MSVCRT.dll_sprintf]
mov esi, eax
add esp, 0x10
inc esi
jmp 0x40d53a
test ecx, ecx
je 0x40d443
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
shl ecx, 4
push eax
push edx
lea eax, [esp + ecx + 0xd0]
lea ecx, [esp + 0x150]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
mov esi, eax
jmp 0x40d53a
test bl, bl
jne 0x40d471
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
push edx
lea ecx, [esp + 0xcc]
push eax
lea edx, [esp + 0x150]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
mov esi, eax
jmp 0x40d53a
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
push eax
lea edx, [esp + 0xcc]
push ecx
lea eax, [esp + 0x150]
push edx
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov esi, eax
add esp, 0x10
mov byte [esp + esi + 0x148], bl
inc esi
mov byte [esp + esi + 0x148], 0
jmp 0x40d53a
mov al, byte [esp + 0x14]
test al, al
je 0x40d4fd
fld qword [esp + 0x34]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40d4fd
mov eax, dword [edi + 0x101b8]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
push ecx
shl eax, 4
push edx
lea edx, [esp + 0x151]
lea ecx, [esp + eax + 0xd0]
mov byte [esp + 0x150], 0x2b
push ecx
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov esi, eax
add esp, 0x10
inc esi
jmp 0x40d52b
mov edx, dword [edi + 0x101b8]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
push eax
shl edx, 4
push ecx
lea ecx, [esp + 0x150]
lea eax, [esp + edx + 0xd0]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
mov esi, eax
mov edx, dword [edi + 0x101b8]
test edx, edx
setle bl
dec ebx
and ebx, 0x2e
mov al, byte [edi + 0x101e9]
test al, al
je 0x40d561
test bl, bl
je 0x40d561
cmp esi, 1
jle 0x40d561
lea eax, [esp + 0x148]
dec eax
cmp byte [eax + esi], 0x30
jne 0x40d561
dec esi
cmp esi, 1
jg 0x40d555
mov cl, byte [edi + 0x101ea]
lea eax, [esp + 0x148]
test cl, cl
mov dword [esp + 0x5c], eax
je 0x40d593
cmp byte [esp + 0x148], 0x30
jne 0x40d593
cmp esi, 1
jle 0x40d58f
mov cl, byte [eax + 1]
inc eax
dec esi
cmp cl, 0x30
je 0x40d580
mov dword [esp + 0x5c], eax
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
cmp ebx, 0xffffffff
jne 0x40d5b6
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x4c]
lea edi, [esi + eax]
cmp ebp, edi
je 0x40d5ea
mov ecx, ebx
lea eax, [edx + ebp]
sub ecx, ebp
inc ecx
push ecx
lea ecx, [edi + edx]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll_memmove]
mov ecx, dword [esp + 0x58]
mov edx, esi
sub edx, ebp
add esp, 0xc
add edx, ecx
mov ebp, edi
add ebx, edx
mov dword [esp + 0x1c], ebx
mov edi, dword [esp + 0x64]
mov ecx, esi
mov esi, dword [esp + 0x5c]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x40d605
inc ebp
mov esi, dword [esp + 0x44]
mov bl, byte [esi + ebp]
test bl, bl
jne 0x40d0d8
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x40d64c
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
push 0xffffffffffffffff
push eax
lea esi, [ecx + 4]
push 0
push edi
mov ecx, esi
call fcn.00403400
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x208]
push edx
push eax
push 0
push edi
mov ecx, esi
call fcn.00402c50
mov edi, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [edi + 0xb4]
cmp esi, ebx
je 0x40d6a0
mov eax, dword [esp + 0x40]
mov ecx, eax
inc eax
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0xb8]
cmp ecx, eax
jle 0x40d6a0
fild dword [esp + 0x2c]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], edx
fmul qword [0x464c68]
fild qword [esp + 0x6c]
fdivp st(1)
call sub.MSVCRT.dll__ftol
push eax
push esi
call fcn.0043ab50
add esp, 8
mov dword [esp + 0x40], ebx
cmp dword [edi + 0x84], ebx
je 0x40d6b3
mov ecx, edi
call fcn.0040c310
test al, al
jne 0x40d6d2
mov al, byte [edi + 0xf582]
test al, al
jne 0x40d6d2
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x2c], eax
jl 0x40d07a
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xb4]
push ecx
call fcn.0043ab80
add esp, 4
jmp case.0x40ca74.2147483345
mov edx, dword [ebp + 0xa4]
mov esi, dword [0x47340c]
mov dword [esp + 0x6c], 0xa2000000
mov dword [esp + 0x70], 0x426d1a94
mov eax, dword [edx + 0x4c]
mov dword [esp + 0xb4], 0xa2000000
cmp eax, 0xfffffffe
mov dword [esp + 0xb8], 0x426d1a94
mov dword [esp + 0x84], 0xa2000000
mov dword [esp + 0x88], 0x426d1a94
mov dword [esp + 0x8c], 0xa2000000
mov dword [esp + 0x90], 0x426d1a94
mov dword [esp + 0xa4], 0xa2000000
mov dword [esp + 0xa8], 0x426d1a94
mov dword [esp + 0x2c], 0xa2000000
mov dword [esp + 0x30], 0x426d1a94
mov dword [esp + 0x4c], 0xa2000000
mov dword [esp + 0x50], 0x426d1a94
mov dword [esp + 0x54], 0xa2000000
mov dword [esp + 0x58], 0x426d1a94
mov dword [esp + 0x94], 0xa2000000
mov dword [esp + 0x98], 0xc26d1a94
mov dword [esp + 0x9c], 0xa2000000
mov dword [esp + 0xa0], 0xc26d1a94
mov dword [esp + 0xbc], 0xa2000000
mov dword [esp + 0xc0], 0xc26d1a94
mov dword [esp + 0xac], 0xa2000000
mov dword [esp + 0xb0], 0xc26d1a94
mov dword [esp + 0x44], 0xa2000000
mov dword [esp + 0x48], 0xc26d1a94
mov dword [esp + 0x5c], 0xa2000000
mov dword [esp + 0x60], 0xc26d1a94
mov dword [esp + 0x64], 0xa2000000
mov dword [esp + 0x68], 0xc26d1a94
mov dword [esp + 0x34], 0xa2000000
mov dword [esp + 0x38], 0xc26d1a94
jne 0x40d872
test esi, esi
jl 0x40d850
cmp esi, 0x40
jge 0x40d850
mov eax, dword [esi*4 + 0x473308]
test eax, eax
je 0x40d850
mov cl, byte [eax + 0x81a]
test cl, cl
je 0x40d850
mov eax, esi
jmp 0x40d872
xor eax, eax
mov ecx, 0x473308
mov edx, dword [ecx]
test edx, edx
je 0x40d866
cmp byte [edx + 0x81a], 0
jne 0x40d88e
inc eax
add ecx, 4
cmp eax, 0x40
jl 0x40d857
or eax, 0xffffffff
test eax, eax
jl 0x40d898
cmp eax, 0x40
jge 0x40d898
mov eax, dword [eax*4 + 0x473308]
test eax, eax
je 0x40d898
mov eax, dword [eax + 0x814]
jmp 0x40d89a
mov esi, eax
mov dword [0x47340c], esi
jmp 0x40d872
xor eax, eax
mov eax, dword [eax*4 + 0x474484]
mov edx, dword [ebp + 0xa4]
mov cl, byte [eax + 0x3955]
mov eax, dword [edx + 0x4c]
cmp eax, 0xfffffffe
mov byte [esp + 0x28], cl
jne 0x40d8fd
test esi, esi
jl 0x40d8db
cmp esi, 0x40
jge 0x40d8db
mov eax, dword [esi*4 + 0x473308]
test eax, eax
je 0x40d8db
mov cl, byte [eax + 0x81a]
test cl, cl
je 0x40d8db
mov eax, esi
jmp 0x40d8fd
xor eax, eax
mov ecx, 0x473308
mov edx, dword [ecx]
test edx, edx
je 0x40d8f1
cmp byte [edx + 0x81a], 0
jne 0x40d919
inc eax
add ecx, 4
cmp eax, 0x40
jl 0x40d8e2
or eax, 0xffffffff
test eax, eax
jl 0x40d923
cmp eax, 0x40
jge 0x40d923
mov eax, dword [eax*4 + 0x473308]
test eax, eax
je 0x40d923
mov eax, dword [eax + 0x814]
jmp 0x40d925
mov esi, eax
mov dword [0x47340c], esi
jmp 0x40d8fd
xor eax, eax
mov eax, dword [eax*4 + 0x474484]
mov edx, dword [ebp + 0xa4]
mov cl, byte [eax + 0x3956]
mov eax, dword [edx + 0x4c]
cmp eax, 0xfffffffe
mov byte [esp + 0x17], cl
jne 0x40d988
test esi, esi
jl 0x40d966
cmp esi, 0x40
jge 0x40d966
mov eax, dword [esi*4 + 0x473308]
test eax, eax
je 0x40d966
mov cl, byte [eax + 0x81a]
test cl, cl
je 0x40d966
mov eax, esi
jmp 0x40d988
xor eax, eax
mov ecx, 0x473308
mov edx, dword [ecx]
test edx, edx
je 0x40d97c
cmp byte [edx + 0x81a], 0
jne 0x40d9a4
inc eax
add ecx, 4
cmp eax, 0x40
jl 0x40d96d
or eax, 0xffffffff
test eax, eax
jl 0x40d9ab
cmp eax, 0x40
jge 0x40d9ab
mov eax, dword [eax*4 + 0x473308]
test eax, eax
je 0x40d9ab
mov eax, dword [eax + 0x814]
jmp 0x40d9ad
mov dword [0x47340c], eax
jmp 0x40d988
xor eax, eax
mov eax, dword [eax*4 + 0x474484]
mov edi, ebx
mov dword [esp + 0x1c], edi
mov cl, byte [eax + 0x3957]
mov eax, dword [esp + 0x24]
cmp ebx, eax
mov byte [esp + 0x14], cl
jge 0x40efbd
mov esi, dword [sym.imp.MSVCRT.dll_strchr]
mov edx, dword [esp + 0x20]
push edi
lea ecx, [edx + 4]
call fcn.004022c0
mov ebx, eax
test ebx, ebx
je 0x40efac
movsx eax, byte [esp + 0x28]
push eax
push ebx
call esi
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x40da16
movsx ecx, byte [esp + 0x17]
push ecx
push ebx
call esi
add esp, 8
mov byte [esp + 0x13], 0
test eax, eax
je 0x40da1b
mov byte [esp + 0x13], 1
push 0x58
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
jne 0x40da3b
push 0x78
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
je 0x40dcbf
mov al, byte [esp + 0x13]
test al, al
jne 0x40db63
cmp edi, ebx
je 0x40da61
movsx edx, byte [edi - 1]
push edx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40db63
movsx eax, byte [edi + 1]
lea ebp, [edi + 1]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40db63
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x40dac1
fld qword [esp + 0x6c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40daa1
fst qword [esp + 0x6c]
fld qword [esp + 0x94]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x40dcbd
fstp qword [esp + 0x94]
jmp 0x40dcbf
fstp st(0)
fld qword [esp + 0x6c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40daec
fld qword [esp + 0x94]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40dcbf
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40db0f
cmp al, 0x2e
je 0x40db0f
cmp al, 0x2c
jne 0x40dcbf
fld qword [esp + 0x6c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40db30
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
fld qword [esp + 0x94]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40dcbf
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
jmp 0x40dcbf
push 0x58
push ebx
call esi
push 0x78
mov edi, eax
push ebx
call esi
add esp, 0x10
test edi, edi
jne 0x40db80
test eax, eax
je 0x40dcbf
jmp 0x40db88
test eax, eax
je 0x40db8a
cmp edi, eax
jb 0x40db8a
mov edi, eax
mov al, byte [esp + 0x13]
test al, al
je 0x40dbc1
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40dba2
cmp edi, eax
ja 0x40dcbf
cmp edi, ebx
mov ecx, edi
jb 0x40dbc5
mov al, byte [ecx]
mov dl, byte [esp + 0x14]
cmp al, dl
je 0x40dbc1
cmp al, byte [esp + 0x17]
je 0x40dc48
dec ecx
cmp ecx, ebx
jae 0x40dba8
cmp edi, ebx
je 0x40dbd7
movsx ecx, byte [edi - 1]
push ecx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40dc48
movsx edx, byte [edi + 1]
lea ebp, [edi + 1]
push edx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40dc48
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
je 0x40dc5a
fstp st(0)
fld qword [esp + 0x6c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40dc29
fld qword [esp + 0x94]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40dc48
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40dc70
cmp al, 0x2e
je 0x40dc70
cmp al, 0x2c
je 0x40dc70
lea ebp, [edi + 1]
push 0x58
push ebp
call esi
push 0x78
mov edi, eax
push ebp
jmp 0x40db6d
fld qword [esp + 0x6c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40daa1
jmp 0x40da9d
fld qword [esp + 0x6c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40dc91
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
fld qword [esp + 0x94]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40dcbf
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
jmp 0x40dcbf
fstp st(0)
push 0x59
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
jne 0x40dcdf
push 0x79
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
je 0x40df84
mov al, byte [esp + 0x13]
test al, al
jne 0x40de19
cmp edi, ebx
je 0x40dd05
movsx eax, byte [edi - 1]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40de19
movsx ecx, byte [edi + 1]
lea ebp, [edi + 1]
push ecx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40de19
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x40dd6b
fld qword [esp + 0xb4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40dd4b
fst qword [esp + 0xb4]
fld qword [esp + 0x9c]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x40df82
fstp qword [esp + 0x9c]
jmp 0x40df84
fstp st(0)
fld qword [esp + 0xb4]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40dd99
fld qword [esp + 0x9c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40df84
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40ddbc
cmp al, 0x2e
je 0x40ddbc
cmp al, 0x2c
jne 0x40df84
fld qword [esp + 0xb4]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40dde6
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
fld qword [esp + 0x9c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40df84
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
jmp 0x40df84
push 0x59
push ebx
call esi
push 0x79
mov edi, eax
push ebx
call esi
add esp, 0x10
test edi, edi
jne 0x40de36
test eax, eax
je 0x40df84
jmp 0x40de3e
test eax, eax
je 0x40de40
cmp edi, eax
jb 0x40de40
mov edi, eax
mov al, byte [esp + 0x13]
test al, al
je 0x40de77
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40de58
cmp edi, eax
ja 0x40df84
cmp edi, ebx
mov ecx, edi
jb 0x40de7b
mov al, byte [ecx]
mov dl, byte [esp + 0x14]
cmp al, dl
je 0x40de77
cmp al, byte [esp + 0x17]
je 0x40df01
dec ecx
cmp ecx, ebx
jae 0x40de5e
cmp edi, ebx
je 0x40de8d
movsx edx, byte [edi - 1]
push edx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40df01
movsx eax, byte [edi + 1]
lea ebp, [edi + 1]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40df01
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
je 0x40df13
fstp st(0)
fld qword [esp + 0xb4]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40dee2
fld qword [esp + 0x9c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40df01
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40df2c
cmp al, 0x2e
je 0x40df2c
cmp al, 0x2c
je 0x40df2c
lea ebp, [edi + 1]
push 0x59
push ebp
call esi
push 0x79
mov edi, eax
push ebp
jmp 0x40de23
fld qword [esp + 0xb4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40dd4b
jmp 0x40dd44
fld qword [esp + 0xb4]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40df56
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
fld qword [esp + 0x9c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40df84
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
jmp 0x40df84
fstp st(0)
push 0x5a
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
jne 0x40dfa4
push 0x7a
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
je 0x40e249
mov al, byte [esp + 0x13]
test al, al
jne 0x40e0de
cmp edi, ebx
je 0x40dfca
movsx ecx, byte [edi - 1]
push ecx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e0de
movsx edx, byte [edi + 1]
lea ebp, [edi + 1]
push edx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e0de
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x40e030
fld qword [esp + 0x84]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40e010
fst qword [esp + 0x84]
fld qword [esp + 0xbc]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x40e247
fstp qword [esp + 0xbc]
jmp 0x40e249
fstp st(0)
fld qword [esp + 0x84]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40e05e
fld qword [esp + 0xbc]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40e249
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40e081
cmp al, 0x2e
je 0x40e081
cmp al, 0x2c
jne 0x40e249
fld qword [esp + 0x84]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40e0ab
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
fld qword [esp + 0xbc]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40e249
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
jmp 0x40e249
push 0x5a
push ebx
call esi
push 0x7a
mov edi, eax
push ebx
call esi
add esp, 0x10
test edi, edi
jne 0x40e0fb
test eax, eax
je 0x40e249
jmp 0x40e103
test eax, eax
je 0x40e105
cmp edi, eax
jb 0x40e105
mov edi, eax
mov al, byte [esp + 0x13]
test al, al
je 0x40e13c
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40e11d
cmp edi, eax
ja 0x40e249
cmp edi, ebx
mov ecx, edi
jb 0x40e140
mov al, byte [ecx]
mov dl, byte [esp + 0x14]
cmp al, dl
je 0x40e13c
cmp al, byte [esp + 0x17]
je 0x40e1c6
dec ecx
cmp ecx, ebx
jae 0x40e123
cmp edi, ebx
je 0x40e152
movsx eax, byte [edi - 1]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e1c6
movsx ecx, byte [edi + 1]
lea ebp, [edi + 1]
push ecx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e1c6
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
je 0x40e1d8
fstp st(0)
fld qword [esp + 0x84]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40e1a7
fld qword [esp + 0xbc]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40e1c6
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40e1f1
cmp al, 0x2e
je 0x40e1f1
cmp al, 0x2c
je 0x40e1f1
lea ebp, [edi + 1]
push 0x5a
push ebp
call esi
push 0x7a
mov edi, eax
push ebp
jmp 0x40e0e8
fld qword [esp + 0x84]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40e010
jmp 0x40e009
fld qword [esp + 0x84]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40e21b
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
fld qword [esp + 0xbc]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40e249
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
jmp 0x40e249
fstp st(0)
push 0x41
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
jne 0x40e269
push 0x61
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
je 0x40e50e
mov al, byte [esp + 0x13]
test al, al
jne 0x40e3a3
cmp edi, ebx
je 0x40e28f
movsx edx, byte [edi - 1]
push edx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e3a3
movsx eax, byte [edi + 1]
lea ebp, [edi + 1]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e3a3
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x40e2f5
fld qword [esp + 0x8c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40e2d5
fst qword [esp + 0x8c]
fld qword [esp + 0xac]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x40e50c
fstp qword [esp + 0xac]
jmp 0x40e50e
fstp st(0)
fld qword [esp + 0x8c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40e323
fld qword [esp + 0xac]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40e50e
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40e346
cmp al, 0x2e
je 0x40e346
cmp al, 0x2c
jne 0x40e50e
fld qword [esp + 0x8c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40e370
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
fld qword [esp + 0xac]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40e50e
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
jmp 0x40e50e
push 0x41
push ebx
call esi
push 0x61
mov edi, eax
push ebx
call esi
add esp, 0x10
test edi, edi
jne 0x40e3c0
test eax, eax
je 0x40e50e
jmp 0x40e3c8
test eax, eax
je 0x40e3ca
cmp edi, eax
jb 0x40e3ca
mov edi, eax
mov al, byte [esp + 0x13]
test al, al
je 0x40e401
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40e3e2
cmp edi, eax
ja 0x40e50e
cmp edi, ebx
mov ecx, edi
jb 0x40e405
mov al, byte [ecx]
mov dl, byte [esp + 0x14]
cmp al, dl
je 0x40e401
cmp al, byte [esp + 0x17]
je 0x40e48b
dec ecx
cmp ecx, ebx
jae 0x40e3e8
cmp edi, ebx
je 0x40e417
movsx ecx, byte [edi - 1]
push ecx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e48b
movsx edx, byte [edi + 1]
lea ebp, [edi + 1]
push edx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e48b
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
je 0x40e49d
fstp st(0)
fld qword [esp + 0x8c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40e46c
fld qword [esp + 0xac]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40e48b
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40e4b6
cmp al, 0x2e
je 0x40e4b6
cmp al, 0x2c
je 0x40e4b6
lea ebp, [edi + 1]
push 0x41
push ebp
call esi
push 0x61
mov edi, eax
push ebp
jmp 0x40e3ad
fld qword [esp + 0x8c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40e2d5
jmp 0x40e2ce
fld qword [esp + 0x8c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40e4e0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
fld qword [esp + 0xac]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40e50e
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
jmp 0x40e50e
fstp st(0)
push 0x42
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
jne 0x40e52e
push 0x62
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
je 0x40e7b5
mov al, byte [esp + 0x13]
test al, al
jne 0x40e656
cmp edi, ebx
je 0x40e554
movsx eax, byte [edi - 1]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e656
movsx ecx, byte [edi + 1]
lea ebp, [edi + 1]
push ecx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e656
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x40e5b4
fld qword [esp + 0xa4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40e59a
fst qword [esp + 0xa4]
fld qword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x40e7b3
fstp qword [esp + 0x44]
jmp 0x40e7b5
fstp st(0)
fld qword [esp + 0xa4]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40e5df
fld qword [esp + 0x44]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40e7b5
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40e602
cmp al, 0x2e
je 0x40e602
cmp al, 0x2c
jne 0x40e7b5
fld qword [esp + 0xa4]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40e62c
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
fld qword [esp + 0x44]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40e7b5
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
jmp 0x40e7b5
push 0x42
push ebx
call esi
push 0x62
mov edi, eax
push ebx
call esi
add esp, 0x10
test edi, edi
jne 0x40e673
test eax, eax
je 0x40e7b5
jmp 0x40e67b
test eax, eax
je 0x40e67d
cmp edi, eax
jb 0x40e67d
mov edi, eax
mov al, byte [esp + 0x13]
test al, al
je 0x40e6b4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40e695
cmp edi, eax
ja 0x40e7b5
cmp edi, ebx
mov ecx, edi
jb 0x40e6b8
mov al, byte [ecx]
mov dl, byte [esp + 0x14]
cmp al, dl
je 0x40e6b4
cmp al, byte [esp + 0x17]
je 0x40e73b
dec ecx
cmp ecx, ebx
jae 0x40e69b
cmp edi, ebx
je 0x40e6ca
movsx edx, byte [edi - 1]
push edx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e73b
movsx eax, byte [edi + 1]
lea ebp, [edi + 1]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e73b
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
je 0x40e74d
fstp st(0)
fld qword [esp + 0xa4]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40e71c
fld qword [esp + 0x44]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40e73b
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40e766
cmp al, 0x2e
je 0x40e766
cmp al, 0x2c
je 0x40e766
lea ebp, [edi + 1]
push 0x42
push ebp
call esi
push 0x62
mov edi, eax
push ebp
jmp 0x40e660
fld qword [esp + 0xa4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40e59a
jmp 0x40e593
fld qword [esp + 0xa4]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40e790
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
fld qword [esp + 0x44]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40e7b5
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
jmp 0x40e7b5
fstp st(0)
push 0x43
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
jne 0x40e7d5
push 0x63
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
je 0x40ea3b
mov al, byte [esp + 0x13]
test al, al
jne 0x40e8eb
cmp edi, ebx
je 0x40e7fb
movsx ecx, byte [edi - 1]
push ecx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e8eb
movsx edx, byte [edi + 1]
lea ebp, [edi + 1]
push edx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e8eb
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x40e855
fld qword [esp + 0x2c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40e83b
fst qword [esp + 0x2c]
fld qword [esp + 0x5c]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x40ea39
fstp qword [esp + 0x5c]
jmp 0x40ea3b
fstp st(0)
fld qword [esp + 0x2c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40e87d
fld qword [esp + 0x5c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40ea3b
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40e8a0
cmp al, 0x2e
je 0x40e8a0
cmp al, 0x2c
jne 0x40ea3b
fld qword [esp + 0x2c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40e8c1
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
fld qword [esp + 0x5c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40ea3b
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
jmp 0x40ea3b
push 0x43
push ebx
call esi
push 0x63
mov edi, eax
push ebx
call esi
add esp, 0x10
test edi, edi
jne 0x40e908
test eax, eax
je 0x40ea3b
jmp 0x40e910
test eax, eax
je 0x40e912
cmp edi, eax
jb 0x40e912
mov edi, eax
mov al, byte [esp + 0x13]
test al, al
je 0x40e949
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40e92a
cmp edi, eax
ja 0x40ea3b
cmp edi, ebx
mov ecx, edi
jb 0x40e94d
mov al, byte [ecx]
mov dl, byte [esp + 0x14]
cmp al, dl
je 0x40e949
cmp al, byte [esp + 0x17]
je 0x40e9cd
dec ecx
cmp ecx, ebx
jae 0x40e930
cmp edi, ebx
je 0x40e95f
movsx eax, byte [edi - 1]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e9cd
movsx ecx, byte [edi + 1]
lea ebp, [edi + 1]
push ecx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40e9cd
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
je 0x40e9df
fstp st(0)
fld qword [esp + 0x2c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40e9ae
fld qword [esp + 0x5c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40e9cd
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40e9f5
cmp al, 0x2e
je 0x40e9f5
cmp al, 0x2c
je 0x40e9f5
lea ebp, [edi + 1]
push 0x43
push ebp
call esi
push 0x63
mov edi, eax
push ebp
jmp 0x40e8f5
fld qword [esp + 0x2c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40e83b
jmp 0x40e837
fld qword [esp + 0x2c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40ea16
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
fld qword [esp + 0x5c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40ea3b
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
jmp 0x40ea3b
fstp st(0)
push 0x46
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
jne 0x40ea5b
push 0x66
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
je 0x40ecc1
mov al, byte [esp + 0x13]
test al, al
jne 0x40eb71
cmp edi, ebx
je 0x40ea81
movsx edx, byte [edi - 1]
push edx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40eb71
movsx eax, byte [edi + 1]
lea ebp, [edi + 1]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40eb71
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x40eadb
fld qword [esp + 0x4c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40eac1
fst qword [esp + 0x4c]
fld qword [esp + 0x64]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x40ecbf
fstp qword [esp + 0x64]
jmp 0x40ecc1
fstp st(0)
fld qword [esp + 0x4c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40eb03
fld qword [esp + 0x64]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40ecc1
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40eb26
cmp al, 0x2e
je 0x40eb26
cmp al, 0x2c
jne 0x40ecc1
fld qword [esp + 0x4c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40eb47
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
fld qword [esp + 0x64]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40ecc1
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
jmp 0x40ecc1
push 0x46
push ebx
call esi
push 0x66
mov edi, eax
push ebx
call esi
add esp, 0x10
test edi, edi
jne 0x40eb8e
test eax, eax
je 0x40ecc1
jmp 0x40eb96
test eax, eax
je 0x40eb98
cmp edi, eax
jb 0x40eb98
mov edi, eax
mov al, byte [esp + 0x13]
test al, al
je 0x40ebcf
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40ebb0
cmp edi, eax
ja 0x40ecc1
cmp edi, ebx
mov ecx, edi
jb 0x40ebd3
mov al, byte [ecx]
mov dl, byte [esp + 0x14]
cmp al, dl
je 0x40ebcf
cmp al, byte [esp + 0x17]
je 0x40ec53
dec ecx
cmp ecx, ebx
jae 0x40ebb6
cmp edi, ebx
je 0x40ebe5
movsx ecx, byte [edi - 1]
push ecx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40ec53
movsx edx, byte [edi + 1]
lea ebp, [edi + 1]
push edx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40ec53
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
je 0x40ec65
fstp st(0)
fld qword [esp + 0x4c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40ec34
fld qword [esp + 0x64]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40ec53
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40ec7b
cmp al, 0x2e
je 0x40ec7b
cmp al, 0x2c
je 0x40ec7b
lea ebp, [edi + 1]
push 0x46
push ebp
call esi
push 0x66
mov edi, eax
push ebp
jmp 0x40eb7b
fld qword [esp + 0x4c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40eac1
jmp 0x40eabd
fld qword [esp + 0x4c]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40ec9c
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
fld qword [esp + 0x64]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40ecc1
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
jmp 0x40ecc1
fstp st(0)
push 0x53
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
jne 0x40ece1
push 0x73
push ebx
call esi
mov edi, eax
add esp, 8
test edi, edi
je 0x40ef47
mov al, byte [esp + 0x13]
test al, al
jne 0x40edf7
cmp edi, ebx
je 0x40ed07
movsx eax, byte [edi - 1]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40edf7
movsx ecx, byte [edi + 1]
lea ebp, [edi + 1]
push ecx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40edf7
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x40ed61
fld qword [esp + 0x54]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40ed47
fst qword [esp + 0x54]
fld qword [esp + 0x34]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x40ef45
fstp qword [esp + 0x34]
jmp 0x40ef47
fstp st(0)
fld qword [esp + 0x54]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40ed89
fld qword [esp + 0x34]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40ef47
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40edac
cmp al, 0x2e
je 0x40edac
cmp al, 0x2c
jne 0x40ef47
fld qword [esp + 0x54]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40edcd
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
fld qword [esp + 0x34]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40ef47
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
jmp 0x40ef47
push 0x53
push ebx
call esi
push 0x73
mov edi, eax
push ebx
call esi
add esp, 0x10
test edi, edi
jne 0x40ee14
test eax, eax
je 0x40ef47
jmp 0x40ee1c
test eax, eax
je 0x40ee1e
cmp edi, eax
jb 0x40ee1e
mov edi, eax
mov al, byte [esp + 0x13]
test al, al
je 0x40ee55
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40ee36
cmp edi, eax
ja 0x40ef47
cmp edi, ebx
mov ecx, edi
jb 0x40ee59
mov al, byte [ecx]
mov dl, byte [esp + 0x14]
cmp al, dl
je 0x40ee55
cmp al, byte [esp + 0x17]
je 0x40eed9
dec ecx
cmp ecx, ebx
jae 0x40ee3c
cmp edi, ebx
je 0x40ee6b
movsx edx, byte [edi - 1]
push edx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40eed9
movsx eax, byte [edi + 1]
lea ebp, [edi + 1]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x40eed9
push ebp
call fcn.0044b210
fcom qword [0x464c90]
add esp, 4
fnstsw ax
test ah, 0x40
je 0x40eeeb
fstp st(0)
fld qword [esp + 0x54]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
je 0x40eeba
fld qword [esp + 0x34]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40eed9
push str.___t
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov al, byte [eax + edi + 1]
add esp, 8
cmp al, 0x30
je 0x40ef01
cmp al, 0x2e
je 0x40ef01
cmp al, 0x2c
je 0x40ef01
lea ebp, [edi + 1]
push 0x53
push ebp
call esi
push 0x73
mov edi, eax
push ebp
jmp 0x40ee01
fld qword [esp + 0x54]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40ed47
jmp 0x40ed43
fld qword [esp + 0x54]
fcomp qword [0x464c90]
fnstsw ax
test ah, 0x41
jne 0x40ef22
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
fld qword [esp + 0x34]
fcomp qword [0x464c90]
fnstsw ax
test ah, 1
je 0x40ef47
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
jmp 0x40ef47
fstp st(0)
mov ebp, dword [esp + 0x20]
xor ebx, ebx
mov edi, dword [ebp + 0xb4]
cmp edi, ebx
je 0x40ef9e
mov eax, dword [esp + 0x40]
mov ecx, eax
inc eax
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0xb8]
cmp ecx, eax
jle 0x40ef9e
fild dword [esp + 0x1c]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x7c], edx
fmul qword [0x464c68]
fild qword [esp + 0x7c]
fdivp st(1)
call sub.MSVCRT.dll__ftol
push eax
push edi
call fcn.0043ab50
add esp, 8
mov dword [esp + 0x40], ebx
mov al, byte [ebp + 0xf582]
test al, al
jne 0x40efbd
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
inc edi
cmp edi, eax
mov dword [esp + 0x1c], edi
jl 0x40d9d6
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0xb4]
push eax
call fcn.0043ab80
add esp, 4
lea ecx, [esp + 0x208]
push 0
call fcn.00458580
mov dword [esp + 0x3f20], 1
mov al, byte [esi + 0xf582]
test al, al
jne 0x40f0d9
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0xd8]
push ecx
mov ecx, dword [esp + 0xd8]
push edx
mov edx, dword [esp + 0xe8]
push eax
mov eax, dword [esp + 0xe8]
push ecx
mov ecx, dword [esp + 0xd0]
push edx
mov edx, dword [esp + 0xd0]
push eax
mov eax, dword [esp + 0x108]
push ecx
mov ecx, dword [esp + 0x108]
push edx
mov edx, dword [esp + 0xd8]
push eax
mov eax, dword [esp + 0xd8]
push ecx
mov ecx, dword [esp + 0xf8]
push edx
mov edx, dword [esp + 0xf8]
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x100]
push eax
mov eax, dword [esp + 0x100]
push ecx
mov ecx, dword [esp + 0xe0]
push edx
mov edx, dword [esp + 0xe0]
push eax
push ecx
push edx
lea ecx, [esp + 0x288]
call fcn.00458d30
lea ecx, [esp + 0xce8]
mov dword [esp + 0x3f20], 0x2c
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xca8]
mov byte [esp + 0x3f20], 0x2b
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xc68]
mov byte [esp + 0x3f20], 0x2a
call sub.MFC42.DLL_CButton::CButton
lea ecx, [esp + 0xc28]
mov byte [esp + 0x3f20], 0x29
call sub.MFC42.DLL_CButton::CButton
lea ecx, [esp + 0xbe8]
mov byte [esp + 0x3f20], 0x28
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xba8]
mov byte [esp + 0x3f20], 0x27
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xb68]
mov byte [esp + 0x3f20], 0x26
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xb28]
mov byte [esp + 0x3f20], 0x25
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xae8]
mov byte [esp + 0x3f20], 0x24
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xaa8]
mov byte [esp + 0x3f20], 0x23
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xa68]
mov byte [esp + 0x3f20], 0x22
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xa28]
mov byte [esp + 0x3f20], 0x21
call sub.MFC42.DLL_CStatic::CStatic
mov byte [esp + 0x3f20], 0x20
lea ecx, [esp + 0x9e8]
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x9a8]
mov byte [esp + 0x3f20], 0x1f
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x968]
mov byte [esp + 0x3f20], 0x1e
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x928]
mov byte [esp + 0x3f20], 0x1d
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x8e8]
mov byte [esp + 0x3f20], 0x1c
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x8a8]
mov byte [esp + 0x3f20], 0x1b
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x868]
mov byte [esp + 0x3f20], 0x1a
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x828]
mov byte [esp + 0x3f20], 0x19
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x7e8]
mov byte [esp + 0x3f20], 0x18
call sub.MFC42.DLL_CButton::CButton
lea ecx, [esp + 0x7a8]
mov byte [esp + 0x3f20], 0x17
call sub.MFC42.DLL_CButton::CButton
lea ecx, [esp + 0x768]
mov byte [esp + 0x3f20], 0x16
call sub.MFC42.DLL_CButton::CButton
lea ecx, [esp + 0x728]
mov byte [esp + 0x3f20], 0x15
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x6e8]
mov byte [esp + 0x3f20], 0x14
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x6a8]
mov byte [esp + 0x3f20], 0x13
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x668]
mov byte [esp + 0x3f20], 0x12
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x628]
mov byte [esp + 0x3f20], 0x11
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x5e8]
mov byte [esp + 0x3f20], 0x10
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x5a8]
mov byte [esp + 0x3f20], 0xf
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x568]
mov byte [esp + 0x3f20], 0xe
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x528]
mov byte [esp + 0x3f20], 0xd
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x4e8]
mov byte [esp + 0x3f20], 0xc
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x4a8]
mov byte [esp + 0x3f20], 0xb
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x468]
mov byte [esp + 0x3f20], 0xa
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x428]
mov byte [esp + 0x3f20], 9
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x3e8]
mov byte [esp + 0x3f20], 8
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x3a8]
mov byte [esp + 0x3f20], 7
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x368]
mov byte [esp + 0x3f20], 6
call sub.MFC42.DLL_CStatic::CStatic
mov byte [esp + 0x3f20], 5
lea ecx, [esp + 0x328]
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x2e8]
mov byte [esp + 0x3f20], 4
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x2a8]
mov byte [esp + 0x3f20], 3
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x268]
mov byte [esp + 0x3f20], 2
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0x208]
mov dword [esp + 0x3f20], 0xffffffff
call sub.MFC42.DLL_CDialog::CDialog
jmp case.0x40ca74.2147483345
lea edi, [ebp + 0x17ec]
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x54], edi
repne scasb al, byte es:[edi]
movsx eax, byte [ebp + 0xf583]
not ecx
dec ecx
push eax
mov esi, ecx
lea ecx, [esp + 0x18]
push 0x4700c4
push ecx
mov dword [esp + 0x28], esi
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
cmp esi, 0x20
jle 0x40f496
mov dword [esp + 0x1c], 0x20
mov al, byte [ebp + 0xdba8]
test al, al
jne 0x40f4c1
mov ebx, dword [ebp + 0x17e0]
dec ebx
test al, al
jne 0x40f4c1
mov eax, dword [ebp + 0x17e4]
test eax, eax
jge 0x40f4bb
add dword [esp + 0x24], eax
jmp 0x40f4c1
jle 0x40f4c1
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x70]
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jle 0x40f4d2
mov ecx, eax
mov dword [esp + 0x24], ecx
test ebx, ebx
jge 0x40f4d8
xor ebx, ebx
cmp ecx, ebx
jge 0x40f4e2
mov ecx, ebx
mov dword [esp + 0x24], ecx
cmp ebx, ecx
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], ebx
jge 0x40f724
mov edx, dword [esp + 0x20]
add edx, 4
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov ebx, dword [sym.imp.MSVCRT.dll_isspace]
push eax
call fcn.004022c0
mov edi, eax
test edi, edi
je 0x40f70f
movsx ecx, byte [edi]
push ecx
xor esi, esi
call ebx
add esp, 4
test eax, eax
je 0x40f53e
movsx edx, byte [esi + edi + 1]
inc esi
push edx
call ebx
add esp, 4
test eax, eax
jne 0x40f52e
mov ebp, dword [esp + 0x20]
mov al, byte [esi + edi]
cmp al, byte [ebp + 0xf583]
sete bl
test bl, bl
je 0x40f57a
movsx ecx, byte [esi + edi + 1]
inc esi
push ecx
call dword [sym.imp.MSVCRT.dll_isspace]
add esp, 4
test eax, eax
je 0x40f57a
movsx edx, byte [esi + edi + 1]
inc esi
push edx
call dword [sym.imp.MSVCRT.dll_isspace]
add esp, 4
test eax, eax
jne 0x40f566
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x40f629
mov ecx, dword [esp + 0x54]
push eax
lea edx, [esi + edi]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x40f69f
mov eax, dword [esp + 0x1c]
push 0x4700b8
add esi, eax
lea eax, [esi + edi]
push eax
call dword [sym.imp.MSVCRT.dll_strspn]
add esi, eax
mov eax, dword [ebp + 0x17d8]
add esp, 8
test eax, eax
je 0x40f5d9
lea ecx, [esi + edi]
push 0x4700b4
push ecx
call dword [sym.imp.MSVCRT.dll_strspn]
add esp, 8
add esi, eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ebp + 0xdb84]
cmp ecx, eax
jne 0x40f5f9
mov eax, dword [ebp + 0xdb80]
mov dword [esp + 0x2c], esi
cmp esi, eax
jl 0x40f5f9
mov dword [esp + 0x2c], eax
push 0xffffffffffffffff
push esi
push 0
push ecx
mov ecx, dword [esp + 0x28]
call fcn.00403400
test bl, bl
je 0x40f69f
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x14]
push 1
push edx
push 0
push eax
call fcn.00402c50
jmp 0x40f69f
lea ecx, [esi + edi]
push 0x4700b8
push ecx
call dword [sym.imp.MSVCRT.dll_strspn]
add esi, eax
mov eax, dword [ebp + 0x17d8]
add esp, 8
test eax, eax
je 0x40f65b
lea edx, [esi + edi]
push 0x4700b4
push edx
call dword [sym.imp.MSVCRT.dll_strspn]
add esp, 8
add esi, eax
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
push 0xffffffffffffffff
push esi
push 0
push edi
call fcn.00403400
test bl, bl
je 0x40f685
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x14]
push 1
push eax
push 0
push edi
call fcn.00402c50
cmp edi, dword [ebp + 0xdb84]
jne 0x40f69f
mov eax, dword [ebp + 0xdb80]
mov dword [esp + 0x2c], esi
cmp esi, eax
jl 0x40f69f
mov dword [esp + 0x2c], eax
mov esi, dword [ebp + 0xb4]
xor edi, edi
cmp esi, edi
je 0x40f6f2
mov eax, dword [esp + 0x40]
mov ecx, eax
inc eax
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0xb8]
cmp ecx, eax
jle 0x40f6f2
fild dword [esp + 0x28]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], edx
fmul qword [0x464c68]
fild qword [esp + 0x7c]
fdivp st(1)
call sub.MSVCRT.dll__ftol
push eax
push esi
call fcn.0043ab50
add esp, 8
mov dword [esp + 0x40], edi
cmp dword [ebp + 0x84], edi
je 0x40f705
mov ecx, ebp
call fcn.0040c310
test al, al
jne 0x40f724
mov al, byte [ebp + 0xf582]
test al, al
jne 0x40f724
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x40f501
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
sub dword [eax + 0xdb80], ecx
jmp case.0x40ca74.2147483345
mov eax, dword [ebp + 0x17c4]
mov cl, byte [ebp + 0x3a10]
mov edx, dword [ebp + 0x17c8]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x17dc]
mov dword [esp + 0x4c], edx
test cl, cl
mov dword [esp + 0x5c], eax
je 0x40f945
push 0
lea ecx, [esp + 0xe10]
call fcn.00437f80
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x4c]
push ecx
lea eax, [esp + 0x60]
push edx
push eax
lea ecx, [esp + 0xe18]
mov dword [esp + 0x3f2c], 0x2d
call fcn.004381f0
cmp eax, 1
je 0x40f873
lea ecx, [esp + 0x1078]
mov dword [esp + 0x3f20], 0x36
call sub.MFC42.DLL_CComboBox::CComboBox
lea ecx, [esp + 0x1038]
mov byte [esp + 0x3f20], 0x35
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xff8]
mov byte [esp + 0x3f20], 0x34
call sub.MFC42.DLL_CButton::CButton
lea ecx, [esp + 0xfb8]
mov byte [esp + 0x3f20], 0x33
call sub.MFC42.DLL_CEdit::CEdit
lea ecx, [esp + 0xf78]
mov byte [esp + 0x3f20], 0x32
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xf38]
mov byte [esp + 0x3f20], 0x31
call sub.MFC42.DLL_CComboBox::CComboBox
lea ecx, [esp + 0xef8]
mov byte [esp + 0x3f20], 0x30
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xeb8]
mov byte [esp + 0x3f20], 0x2f
call sub.MFC42.DLL_CButton::CButton
lea ecx, [esp + 0xe78]
mov byte [esp + 0x3f20], 0x2e
call sub.MFC42.DLL_CButton::CButton
lea ecx, [esp + 0xe0c]
mov dword [esp + 0x3f20], 0xffffffff
call sub.MFC42.DLL_CDialog::CDialog
jmp case.0x40ca74.2147483345
lea ecx, [esp + 0x1078]
mov dword [esp + 0x3f20], 0x3f
call sub.MFC42.DLL_CComboBox::CComboBox
lea ecx, [esp + 0x1038]
mov byte [esp + 0x3f20], 0x3e
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xff8]
mov byte [esp + 0x3f20], 0x3d
call sub.MFC42.DLL_CButton::CButton
lea ecx, [esp + 0xfb8]
mov byte [esp + 0x3f20], 0x3c
call sub.MFC42.DLL_CEdit::CEdit
lea ecx, [esp + 0xf78]
mov byte [esp + 0x3f20], 0x3b
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xf38]
mov byte [esp + 0x3f20], 0x3a
call sub.MFC42.DLL_CComboBox::CComboBox
lea ecx, [esp + 0xef8]
mov byte [esp + 0x3f20], 0x39
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [esp + 0xeb8]
mov byte [esp + 0x3f20], 0x38
call sub.MFC42.DLL_CButton::CButton
lea ecx, [esp + 0xe78]
mov byte [esp + 0x3f20], 0x37
call sub.MFC42.DLL_CButton::CButton
lea ecx, [esp + 0xe0c]
mov dword [esp + 0x3f20], 0xffffffff
call sub.MFC42.DLL_CDialog::CDialog
mov eax, dword [esp + 0x5c]
cmp eax, 0x7fffffff
mov dword [esp + 0x44], 0xa
je 0x40f958
mov dword [esp + 0x44], eax
lea edi, [ebp + 0x17ec]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x20
mov dword [esp + 0x64], ecx
jle 0x40f979
mov dword [esp + 0x64], 0x20
mov al, byte [ebp + 0xdba8]
test al, al
jne 0x40fa16
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x17e0]
dec eax
mov dword [esp + 0x18], eax
jns 0x40f9a0
mov dword [esp + 0x18], 0
mov ebx, dword [esp + 0x20]
mov al, byte [ebx + 0x390d]
lea ebp, [ebx + 0x390d]
test al, al
je 0x40fa00
mov esi, dword [esp + 0x18]
mov eax, dword [ebx + 0x70]
cmp esi, eax
jge 0x40fa00
lea edi, [ebx + 4]
push esi
mov ecx, edi
call fcn.004022c0
test eax, eax
je 0x40fa00
push ebp
push eax
call fcn.0044ab40
add esp, 8
test eax, eax
jne 0x40f9e6
mov eax, dword [ebx + 0x70]
inc esi
cmp esi, eax
jl 0x40f9c2
jmp 0x40fa00
mov al, byte [ebx + 0x3a0e]
test al, al
je 0x40f9f1
inc esi
mov eax, dword [ebx + 0x70]
mov dword [esp + 0x18], esi
cmp esi, eax
jle 0x40fa00
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x17e4]
test eax, eax
jge 0x40fa10
add dword [esp + 0x24], eax
jmp 0x40fa16
jle 0x40fa16
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, dword [ebx + 0x70]
cmp edx, eax
jle 0x40fa2b
mov edx, eax
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x18]
test ecx, ecx
jge 0x40fa39
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp edx, ecx
jge 0x40fa43
mov edx, ecx
mov dword [esp + 0x24], edx
mov eax, edx
mov dword [esp + 0x1c], 0
sub eax, ecx
inc eax
cmp eax, 1
jl case.0x40ca74.2147483345
mov edx, dword [esp + 0x4c]
push eax
push edx
call fcn.0044d3b0
mov dword [esp + 0x3c], eax
lea eax, [ebx + 0x17ec]
push 0x20
push eax
lea eax, [esp + 0xd8]
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
mov ebp, dword [esp + 0x40]
add esp, 0x14
test ebp, ebp
mov byte [esp + 0xe8], 0
mov edi, 0x4700b0
jne 0x40fa9c
mov edi, 0x4700ac
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xc8]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xc8]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ebp, 9
setge dl
dec edx
mov byte [esp + ecx + 0xc9], al
and edx, ebp
lea edi, [esp + 0xc8]
or ecx, 0xffffffff
add dl, 0x31
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ebp, 9
mov byte [esp + ecx + 0xc8], dl
jl 0x40fb34
mov edi, 0x4700a8
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xc8]
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.d0_
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x17d8]
mov ecx, ebp
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x40fba0
mov edi, 0x470090
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x20]
lea ebx, [eax + 0x180d]
test ebx, ebx
je 0x40fc19
lea ebp, [esp + 0x1e18]
push 0x21
lea ecx, [esp + 0x14c]
push ebx
push ecx
call fcn.0044a990
lea edx, [esp + 0x154]
mov ebx, eax
push edx
call fcn.0044a8e0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x40fc15
mov esi, dword [esp + 0x1c]
mov edx, ebp
lea edi, [esp + 0x148]
or ecx, 0xffffffff
inc esi
add ebp, 0x21
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x1c], esi
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test ebx, ebx
jne 0x40fbb5
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
mov dword [esp + 0x54], 0
mov dword [esp + 0x18], eax
jge 0x40ffbe
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ebx, dword [sym.imp.MSVCRT.dll_isspace]
push ecx
lea ecx, [edx + 4]
call fcn.004022c0
mov ebp, eax
test ebp, ebp
je 0x40ffa9
movsx eax, byte [ebp]
push eax
xor esi, esi
call ebx
add esp, 4
test eax, eax
je 0x40fc76
movsx ecx, byte [esi + ebp + 1]
inc esi
push ecx
call ebx
add esp, 4
test eax, eax
jne 0x40fc66
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x17], 0
test eax, eax
mov dword [esp + 0x28], 0
jle 0x40fcdb
lea ebx, [esp + 0x1e18]
mov dl, byte [ebx]
mov al, byte [esi + ebp]
cmp dl, al
jne 0x40fcba
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esi + ebp]
push ecx
push eax
push ebx
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x40fcd0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
inc eax
add ebx, 0x21
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x40fc92
jmp 0x40fcd5
mov byte [esp + 0x17], 1
mov ebx, dword [sym.imp.MSVCRT.dll_isspace]
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x3a0f]
test cl, cl
je 0x40fcf0
mov byte [esp + 0x14], 0
jmp 0x40fd14
push 0x4700a0
push ebp
call dword [sym.imp.MSVCRT.dll_strspn]
mov edx, eax
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, edx
sete byte [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 0x70]
dec ecx
cmp edx, ecx
jne 0x40fd31
mov cl, byte [esp + 0x14]
test cl, cl
je 0x40fd31
mov byte [esp + 0x17], 1
mov dl, byte [esi + ebp]
mov cl, byte [eax + 0xf583]
cmp dl, cl
sete al
test al, al
mov byte [esp + 0x28], al
je 0x40fd67
movsx eax, byte [esi + ebp + 1]
inc esi
push eax
call ebx
add esp, 4
test eax, eax
je 0x40fd67
movsx ecx, byte [esi + ebp + 1]
inc esi
push ecx
call ebx
add esp, 4
test eax, eax
jne 0x40fd57
mov al, byte [esp + 0x14]
test al, al
jne 0x40ff35
mov al, byte [esp + 0x17]
test al, al
jne 0x40ff35
mov edi, dword [esp + 0x64]
test edi, edi
je 0x40fddd
mov ebx, dword [esp + 0x20]
push edi
lea edx, [esi + ebp]
lea eax, [ebx + 0x17ec]
push eax
push edx
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x40fe11
add esi, edi
push 0x4700b8
lea eax, [esi + ebp]
push eax
call dword [sym.imp.MSVCRT.dll_strspn]
add esp, 8
test eax, eax
jle 0x40fdd9
add esi, eax
mov eax, dword [ebx + 0x17d8]
test eax, eax
je 0x40fe11
lea ecx, [esi + ebp]
push 0x4700b4
push ecx
call dword [sym.imp.MSVCRT.dll_strspn]
jmp 0x40fe0c
sub esi, edi
jmp 0x40fe11
mov edi, dword [sym.imp.MSVCRT.dll_strspn]
lea edx, [esi + ebp]
push 0x4700b8
push edx
call edi
mov ebx, dword [esp + 0x28]
add esi, eax
add esp, 8
mov eax, dword [ebx + 0x17d8]
test eax, eax
je 0x40fe11
lea eax, [esi + ebp]
push 0x4700b4
push eax
call edi
add esp, 8
add esi, eax
mov al, byte [esp + 0x28]
test al, al
jne 0x40fe30
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0xc8]
push ecx
lea eax, [esp + 0x18c]
push edx
push eax
jmp 0x40fe52
mov cl, byte [ebx + 0xf583]
mov edx, dword [esp + 0x44]
mov byte [esp + 0x188], cl
lea eax, [esp + 0xc8]
push edx
lea ecx, [esp + 0x18d]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0x194]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, esi
mov dword [esp + 0x28], ecx
jne 0x40fe8b
lea edx, [esp + 0x188]
push esi
push edx
push ebp
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x40fef6
mov ebx, dword [esp + 0x28]
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
sub ebx, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebx
cmp ecx, 0x400
jge 0x40fef6
test esi, esi
je 0x40fec2
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
push 0xffffffffffffffff
push esi
push eax
push ebp
lea ecx, [edi + 4]
call fcn.00403400
jmp 0x40feca
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x188]
push eax
push ecx
push 0
push ebp
lea ecx, [edi + 4]
call fcn.00402c50
cmp ebp, dword [edi + 0xdb84]
jne 0x40fef6
cmp dword [edi + 0xdb80], esi
jl 0x40fef6
mov dword [esp + 0x54], ebx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x34]
mov eax, dword [edx + 0x17e8]
add ecx, esi
cmp ecx, eax
mov dword [esp + 0x44], ecx
jle 0x40ff16
test eax, eax
jne 0x40ff1e
cmp ecx, 0x5f5e100
jle 0x40ff35
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x44], 0xa
cmp eax, 0x7fffffff
je 0x40ff35
mov dword [esp + 0x44], eax
mov edi, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [edi + 0xb4]
cmp esi, ebx
je 0x40ff8c
mov eax, dword [esp + 0x40]
mov ecx, eax
inc eax
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0xb8]
cmp ecx, eax
jle 0x40ff8c
fild dword [esp + 0x18]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x7c], edx
fmul qword [0x464c68]
fild qword [esp + 0x7c]
fdivp st(1)
call sub.MSVCRT.dll__ftol
push eax
push esi
call fcn.0043ab50
add esp, 8
mov dword [esp + 0x40], ebx
cmp dword [edi + 0x84], ebx
je 0x40ff9f
mov ecx, edi
call fcn.0040c310
test al, al
jne 0x40ffbe
mov al, byte [edi + 0xf582]
test al, al
jne 0x40ffbe
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x40fc35
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x54]
add dword [eax + 0xdb80], ecx
jmp case.0x40ca74.2147483345
mov eax, dword [ebp + 0xdb84]
cmp eax, ebx
jl 0x410222
cmp eax, dword [esp + 0x24]
jge 0x410222
mov ecx, dword [ebp + 0xdb80]
test ecx, ecx
jle 0x410222
lea ecx, [ebp + 4]
push eax
call fcn.004022c0
mov ebx, eax
test ebx, ebx
je 0x410222
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0xdb80]
repne scasb al, byte es:[edi]
mov al, byte [ebp + 0xdba8]
mov dword [esp + 0x1c], 0x400
not ecx
dec ecx
cmp edx, ecx
setge byte [esp + 0x28]
xor esi, esi
test al, al
mov dword [esp + 0x5c], esi
je 0x410073
mov edx, dword [ebp + 0xdb84]
mov ecx, dword [ebp + 0xdbbc]
cmp edx, ecx
jne 0x410055
mov ecx, dword [ebp + 0xdbc0]
mov dword [esp + 0x1c], ecx
test al, al
je 0x410073
mov edx, dword [ebp + 0xdb84]
mov eax, dword [ebp + 0xdbb4]
cmp edx, eax
jne 0x410073
mov esi, dword [ebp + 0xdbb8]
mov dword [esp + 0x5c], esi
test esi, esi
mov edi, 1
mov eax, esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x4c], 0
mov byte [esp + 0x14], 0
jle 0x4100dd
mov ecx, dword [esp + 0x5c]
xor esi, esi
test ecx, ecx
jle 0x4100dd
mov cl, byte [esi + ebx]
test cl, cl
je 0x4100dd
cmp cl, byte [ebp + 0xf583]
jne 0x4100b8
mov dl, byte [esp + 0x14]
test dl, dl
je 0x4101d8
cmp cl, byte [ebp + 0xf584]
jne 0x4100c7
mov byte [esp + 0x14], 1
jmp 0x4100d4
cmp cl, byte [ebp + 0xf585]
jne 0x4100d4
mov byte [esp + 0x14], 0
mov ecx, dword [esp + 0x5c]
inc esi
cmp esi, ecx
jl 0x41009d
mov cl, byte [eax + ebx]
test cl, cl
je 0x410157
cmp eax, dword [esp + 0x1c]
jge 0x410157
cmp cl, 9
je 0x4100f4
cmp cl, 0x20
jne 0x4100fc
mov dl, byte [esp + 0x14]
test dl, dl
je 0x410157
cmp cl, byte [ebp + 0xf583]
jne 0x410110
mov dl, byte [esp + 0x14]
test dl, dl
je 0x4101d8
cmp cl, byte [ebp + 0xf584]
jne 0x41011f
mov byte [esp + 0x14], 1
jmp 0x41012c
cmp cl, byte [ebp + 0xf585]
jne 0x41012c
mov byte [esp + 0x14], 0
mov ecx, dword [esp + 0x2c]
mov edx, dword [ebp + 0xdb80]
inc eax
inc ecx
cmp ecx, edx
mov dword [esp + 0x2c], ecx
jne 0x410150
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x44]
cmp edx, ecx
jne 0x410150
mov dword [esp + 0x44], eax
mov cl, byte [eax + ebx]
test cl, cl
jne 0x4100e4
cmp edi, 0xffffffff
je 0x4101d8
mov cl, byte [eax + ebx]
xor edi, edi
test cl, cl
je 0x4101d8
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x44]
cmp eax, dword [esp + 0x1c]
jge 0x4101a4
cmp cl, 0x20
je 0x41017d
cmp cl, 9
jne 0x4101a4
mov ecx, dword [esp + 0x4c]
inc edi
inc eax
inc ecx
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebp + 0xdb80]
inc esi
cmp esi, ecx
jne 0x41019d
cmp edx, dword [esp + 0x5c]
jne 0x41019d
mov edx, eax
sub edx, edi
mov cl, byte [eax + ebx]
test cl, cl
jne 0x41016d
test edi, edi
mov dword [esp + 0x44], edx
mov dword [esp + 0x2c], esi
je 0x4101d8
mov edx, dword [ebp + 0xdb84]
mov esi, eax
sub esi, edi
push 0xffffffffffffffff
push edi
push esi
push edx
lea ecx, [ebp + 4]
call fcn.00403400
mov ecx, dword [esp + 0x1c]
mov eax, esi
sub ecx, edi
mov dword [esp + 0x1c], ecx
jmp 0x4100dd
mov al, byte [esp + 0x28]
test al, al
je 0x4101f4
mov eax, dword [ebp + 0xdb80]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jg 0x4101f0
mov ecx, eax
sub eax, ecx
jmp 0x4101f8
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x18]
mov dword [ebp + 0xdb80], eax
mov eax, dword [ebp + 0xdb84]
cmp eax, ecx
jne 0x410215
mov eax, ecx
inc eax
mov dword [esp + 0x18], eax
jmp 0x410222
mov ecx, dword [esp + 0x24]
dec ecx
cmp eax, ecx
jne 0x410222
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
mov dword [esp + 0x2c], eax
jge case.0x40ca74.2147483345
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebp + 0xdbbc]
mov ebx, 1
cmp eax, ecx
mov dword [esp + 0x34], ebx
jne 0x410263
mov cl, byte [ebp + 0xdba8]
test cl, cl
je 0x410263
mov edx, dword [ebp + 0xdbc0]
mov dword [esp + 0x1c], edx
jmp 0x41026b
mov dword [esp + 0x1c], 0x400
cmp eax, dword [ebp + 0xdbb4]
jne 0x410285
mov al, byte [ebp + 0xdba8]
test al, al
je 0x410285
mov esi, dword [ebp + 0xdbb8]
jmp 0x410287
xor esi, esi
mov eax, dword [esp + 0x2c]
lea ecx, [ebp + 4]
push eax
call fcn.004022c0
mov edi, eax
test edi, edi
je 0x410393
mov dl, byte [ebp + 0xf583]
mov al, byte [edi]
cmp al, dl
je 0x410393
test esi, esi
mov byte [esp + 0x14], 0
jle 0x4102f9
xor ecx, ecx
test esi, esi
jle 0x4102f9
mov al, byte [ecx + edi]
test al, al
je 0x4102f9
cmp al, dl
jne 0x4102d8
mov bl, byte [esp + 0x14]
test bl, bl
je 0x410393
mov ebx, dword [esp + 0x34]
cmp al, byte [ebp + 0xf584]
jne 0x4102e7
mov byte [esp + 0x14], 1
jmp 0x4102f4
cmp al, byte [ebp + 0xf585]
jne 0x4102f4
mov byte [esp + 0x14], 0
inc ecx
cmp ecx, esi
jl 0x4102bd
mov al, byte [esi + edi]
test al, al
je 0x41034b
cmp esi, dword [esp + 0x1c]
jge 0x41034b
cmp al, 9
je 0x41030e
cmp al, 0x20
jne 0x410316
mov cl, byte [esp + 0x14]
test cl, cl
je 0x41034b
cmp al, byte [ebp + 0xf583]
jne 0x410326
mov cl, byte [esp + 0x14]
test cl, cl
je 0x410393
cmp al, byte [ebp + 0xf584]
jne 0x410335
mov byte [esp + 0x14], 1
jmp 0x410342
cmp al, byte [ebp + 0xf585]
jne 0x410342
mov byte [esp + 0x14], 0
mov al, byte [esi + edi + 1]
inc esi
test al, al
jne 0x410300
cmp ebx, 0xffffffff
je 0x410393
mov al, byte [esi + edi]
xor ebx, ebx
test al, al
je 0x410393
mov ecx, dword [esp + 0x1c]
cmp esi, ecx
jge 0x410373
cmp al, 0x20
je 0x410369
cmp al, 9
jne 0x410373
mov al, byte [esi + edi + 1]
inc ebx
inc esi
test al, al
jne 0x41035d
test ebx, ebx
je 0x410393
mov ecx, dword [esp + 0x2c]
sub esi, ebx
push 0xffffffffffffffff
push ebx
push esi
push ecx
lea ecx, [ebp + 4]
call fcn.00403400
sub dword [esp + 0x1c], ebx
jmp 0x4102f9
mov esi, dword [ebp + 0xb4]
xor edi, edi
cmp esi, edi
je 0x4103e6
mov eax, dword [esp + 0x40]
mov edx, eax
inc eax
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0xb8]
cmp edx, eax
jle 0x4103e6
fild dword [esp + 0x2c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], eax
fmul qword [0x464c68]
fild qword [esp + 0x7c]
fdivp st(1)
call sub.MSVCRT.dll__ftol
push eax
push esi
call fcn.0043ab50
add esp, 8
mov dword [esp + 0x40], edi
cmp dword [ebp + 0x84], edi
je 0x4103fd
mov ecx, ebp
call fcn.0040c310
test al, al
jne case.0x40ca74.2147483345
mov al, byte [ebp + 0xf582]
test al, al
jne case.0x40ca74.2147483345
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x2c], eax
jl 0x410236
jmp case.0x40ca74.2147483345
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], ebx
cmp ebx, eax
jge case.0x40ca74.2147483345
mov ebx, dword [esp + 0x20]
add ebp, 4
mov dword [esp + 0x18], ebp
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.004022c0
mov ebp, eax
test ebp, ebp
je 0x4106f9
cmp byte [ebp], 0
je 0x4106f9
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx + 0xdbbc]
cmp eax, ecx
jne 0x410482
mov cl, byte [ebx + 0xdba8]
test cl, cl
je 0x410482
mov edx, dword [ebx + 0xdbc0]
jmp 0x410487
mov edx, 0x400
mov ecx, dword [ebx + 0xdbb4]
mov dword [esp + 0x54], edx
cmp eax, ecx
jne 0x4104a7
mov al, byte [ebx + 0xdba8]
test al, al
je 0x4104a7
mov esi, dword [ebx + 0xdbb8]
jmp 0x4104a9
xor esi, esi
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x400
sub eax, ecx
mov ecx, dword [ebx + 0xdb84]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x28]
cmp eax, ecx
jne 0x4104da
mov ecx, dword [ebx + 0xdb80]
mov dword [esp + 0x1c], ecx
jmp 0x4104e2
mov dword [esp + 0x1c], 0
test esi, esi
mov byte [esp + 0x13], 0
mov byte [esp + 0x14], 0
jle 0x410536
xor ecx, ecx
test esi, esi
jle 0x410536
mov al, byte [ecx + ebp]
test al, al
je 0x410536
cmp al, byte [ebx + 0xf583]
jne 0x410515
mov dl, byte [esp + 0x13]
test dl, dl
je 0x410771
mov edx, dword [esp + 0x54]
cmp al, byte [ebx + 0xf584]
jne 0x410524
mov byte [esp + 0x13], 1
jmp 0x410531
cmp al, byte [ebx + 0xf585]
jne 0x410531
mov byte [esp + 0x13], 0
inc ecx
cmp ecx, esi
jl 0x4104f6
cmp esi, edx
jge 0x410582
mov al, byte [esi + ebp]
cmp al, 0x20
je 0x41054d
cmp al, 9
je 0x41054d
mov cl, byte [esp + 0x13]
test cl, cl
je 0x410582
cmp al, byte [ebx + 0xf583]
jne 0x410561
mov cl, byte [esp + 0x13]
test cl, cl
je 0x4106eb
cmp al, byte [ebx + 0xf584]
jne 0x410570
mov byte [esp + 0x13], 1
jmp 0x41057d
cmp al, byte [ebx + 0xf585]
jne 0x41057d
mov byte [esp + 0x13], 0
inc esi
cmp esi, edx
jl 0x41053a
mov al, byte [esi + ebp]
test al, al
je 0x4105f1
movsx edx, al
push edx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
jne 0x4105b7
mov al, byte [esp + 0x13]
test al, al
jne 0x4105b7
mov al, byte [esi + ebp]
mov cl, byte [ebx + 0xf584]
cmp al, cl
je 0x4105b7
cmp al, byte [ebx + 0xf583]
jne 0x4105f1
mov al, byte [esi + ebp]
mov cl, byte [ebx + 0xf583]
cmp al, cl
jne 0x4105cc
mov cl, byte [esp + 0x13]
test cl, cl
je 0x410635
cmp al, byte [ebx + 0xf584]
jne 0x4105db
mov byte [esp + 0x13], 1
jmp 0x4105e8
cmp al, byte [ebx + 0xf585]
jne 0x4105e8
mov byte [esp + 0x13], 0
mov al, byte [esi + ebp + 1]
inc esi
test al, al
jne 0x410589
mov al, byte [esp + 0x14]
test al, al
jne 0x4106a9
cmp byte [esi + ebp], 0
je 0x4106a9
mov edi, dword [sym.imp.MSVCRT.dll_isdigit]
movsx eax, byte [esi + ebp]
push eax
call edi
add esp, 4
test eax, eax
jne 0x410632
mov al, byte [esi + ebp]
cmp al, 0x2e
je 0x410632
cmp al, 0x23
je 0x410632
cmp al, 0x2b
je 0x410632
cmp al, 0x2d
je 0x410632
cmp al, 0x2c
jne 0x41063c
inc esi
jmp 0x41060d
mov byte [esp + 0x14], 1
jmp 0x4106a9
mov al, byte [esi + ebp]
test al, al
je 0x4106a9
movsx ecx, al
push ecx
call dword [sym.imp.MSVCRT.dll_isspace]
add esp, 4
test eax, eax
jne 0x4106a9
cmp dword [esp + 0x4c], 1
jl 0x4106eb
mov eax, dword [esp + 0x1c]
cmp eax, esi
jle 0x41066c
inc eax
mov dword [esp + 0x1c], eax
test esi, esi
je 0x41068b
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov eax, esi
push 1
push 0x470090
push eax
push edx
inc esi
call fcn.00402c50
jmp 0x410690
mov esi, 1
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
dec edx
push eax
mov dword [esp + 0x50], edx
call fcn.004022c0
mov ebp, eax
mov al, byte [esi + ebp]
test al, al
je 0x4106d9
mov edi, dword [sym.imp.MSVCRT.dll_isalpha]
movsx ecx, al
push ecx
call edi
add esp, 4
test eax, eax
jne 0x4106d9
mov dl, byte [esi + ebp]
mov al, byte [ebx + 0xf584]
cmp dl, al
je 0x4106d9
mov al, byte [esi + ebp + 1]
inc esi
test al, al
jne 0x4106b6
cmp byte [esi + ebp], 0
je 0x4106eb
mov al, byte [esp + 0x14]
test al, al
je 0x410582
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x4106f9
mov dword [ebx + 0xdb80], eax
mov esi, dword [ebx + 0xb4]
xor edi, edi
cmp esi, edi
je 0x41074c
mov eax, dword [esp + 0x40]
mov ecx, eax
inc eax
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0xb8]
cmp ecx, eax
jle 0x41074c
fild dword [esp + 0x28]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], edx
fmul qword [0x464c68]
fild qword [esp + 0x7c]
fdivp st(1)
call sub.MSVCRT.dll__ftol
push eax
push esi
call fcn.0043ab50
add esp, 8
mov dword [esp + 0x40], edi
cmp dword [ebx + 0x84], edi
je 0x410763
mov ecx, ebx
call fcn.0040c310
test al, al
jne case.0x40ca74.2147483345
mov al, byte [ebx + 0xf582]
test al, al
jne case.0x40ca74.2147483345
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x410440
jmp case.0x40ca74.2147483345
mov eax, dword [ebp + 0xf568]
test eax, eax
je 0x4108ad
mov eax, dword [ebp + 0xb8]
mov dword [esp + 0x1c], ebx
shl eax, 2
mov dword [ebp + 0xb8], eax
mov eax, dword [esp + 0x24]
cmp ebx, eax
jge case.0x40ca74.2147483345
mov edi, dword [sym.imp.MSVCRT.dll_tolower]
mov ebx, dword [esp + 0x20]
add ebp, 4
mov dword [esp + 0x18], ebp
mov ebp, dword [sym.imp.MSVCRT.dll_toupper]
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.004022c0
mov esi, eax
mov eax, dword [ebx + 0xac]
cmp eax, 0x80000128
jne 0x41080e
movsx edx, byte [esi]
push edx
call edi
add esp, 4
mov byte [esi], al
test al, al
je 0x41082e
movsx eax, byte [esi + 1]
inc esi
push eax
call edi
add esp, 4
mov byte [esi], al
test al, al
jne 0x4107fb
jmp 0x41082e
movsx ecx, byte [esi]
push ecx
call ebp
add esp, 4
mov byte [esi], al
test al, al
je 0x41082e
movsx edx, byte [esi + 1]
inc esi
push edx
call ebp
add esp, 4
mov byte [esi], al
test al, al
jne 0x41081d
mov esi, dword [ebx + 0xb4]
test esi, esi
je 0x410885
mov eax, dword [esp + 0x40]
mov ecx, eax
inc eax
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0xb8]
cmp ecx, eax
jle 0x410885
fild dword [esp + 0x1c]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], edx
fmul qword [0x464c68]
fidiv dword [esp + 0x7c]
call sub.MSVCRT.dll__ftol
push eax
push esi
call fcn.0043ab50
add esp, 8
mov dword [esp + 0x40], 0
mov al, byte [ebx + 0xf582]
test al, al
jne case.0x40ca74.2147483345
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x4107cf
jmp case.0x40ca74.2147483345
mov ax, word [0x470090]
mov ebx, dword [esp + 0x18]
mov word [esp + 0x28], ax
mov eax, dword [esp + 0x24]
cmp ebx, eax
jge case.0x40ca74.2147483345
mov ecx, dword [esp + 0x20]
push ebx
add ecx, 4
call fcn.004022c0
mov esi, eax
test esi, esi
je 0x4109d1
mov edx, dword [esp + 0x20]
cmp dword [edx + 0xac], 0x80000128
jne 0x410962
xor ebp, ebp
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ebp, ecx
jge 0x4109d1
movsx eax, byte [esi + ebp]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
je 0x41095f
movsx ecx, byte [esi + ebp]
push ecx
call dword [sym.imp.MSVCRT.dll_isupper]
add esp, 4
test eax, eax
je 0x41095f
movsx edx, byte [esi + ebp]
push edx
call dword [sym.imp.MSVCRT.dll_tolower]
add esp, 4
mov byte [esp + 0x28], al
mov eax, dword [esp + 0x20]
push 0xffffffffffffffff
push 1
lea edi, [eax + 4]
push ebp
push ebx
mov ecx, edi
call fcn.00403400
lea ecx, [esp + 0x28]
push 1
push ecx
push ebp
push ebx
mov ecx, edi
call fcn.00402c50
inc ebp
jmp 0x4108f1
xor ebp, ebp
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ebp, ecx
jge 0x4109d1
movsx edx, byte [esi + ebp]
push edx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
je 0x4109ce
movsx eax, byte [esi + ebp]
push eax
call dword [sym.imp.MSVCRT.dll_islower]
add esp, 4
test eax, eax
je 0x4109ce
movsx ecx, byte [esi + ebp]
push ecx
call dword [sym.imp.MSVCRT.dll_toupper]
mov edx, dword [esp + 0x24]
add esp, 4
mov byte [esp + 0x28], al
push 0xffffffffffffffff
push 1
lea edi, [edx + 4]
push ebp
push ebx
mov ecx, edi
call fcn.00403400
lea eax, [esp + 0x28]
push 1
push eax
push ebp
push ebx
mov ecx, edi
call fcn.00402c50
inc ebp
jmp 0x410964
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x84]
test eax, eax
je 0x4109e8
call fcn.0040c310
test al, al
jne case.0x40ca74.2147483345
mov eax, dword [esp + 0x24]
inc ebx
cmp ebx, eax
jl 0x4108c8
jmp case.0x40ca74.2147483345
mov edx, dword [ebp + 0xb4]
mov eax, dword [esp + 0x24]
push edx
push eax
push ebx
mov ecx, ebp
call fcn.004156d0
jmp case.0x40ca74.2147483345
mov ecx, dword [ebp + 0xb4]
push 0
push ecx
jmp 0x410a21
mov edx, dword [ebp + 0xb4]
push 1
push edx
mov ecx, ebp
call fcn.00414060
mov edi, dword [esp + 0x20]
xor ebx, ebx
cmp dword [edi + 0x84], ebx
jne 0x410a81
mov eax, dword [edi + 0xdb84]
lea esi, [edi + 4]
push eax
mov ecx, esi
call fcn.004022c0
mov ecx, dword [edi + 0xdb80]
push 0xffffffffffffffff
push ecx
mov ecx, dword [edi + 0xa4]
push eax
call fcn.00421d30
mov dword [edi + 0xdb88], eax
mov eax, dword [edi + 0xdb84]
push eax
mov ecx, esi
call fcn.004022c0
mov edx, dword [edi + 0xdb88]
push 1
push edx
push eax
mov ecx, edi
call fcn.00407630
mov byte [edi + 0xdba8], 0
mov eax, dword [edi + 0xb4]
push eax
call fcn.0043ab80
mov ecx, dword [edi + 0xdb80]
mov edx, dword [edi + 0xdb84]
add esp, 4
lea esi, [edi + 4]
push ecx
push edx
mov ecx, esi
call fcn.00405b80
mov al, byte [edi + 0xb0]
test al, al
je 0x410ac0
mov ecx, esi
call fcn.00405d40
mov eax, dword [edi + 0xdb90]
mov ecx, esi
push eax
call fcn.004022c0
cmp dword [edi + 0xf568], ebx
je 0x410b63
xor ebx, ebx
lea ebp, [edi + 0xf579]
lea esi, [edi + 0xe980]
mov eax, dword [esi + 0x404]
test eax, eax
je 0x410afc
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
mov ecx, dword [esi]
mov eax, ecx
sub eax, ebp
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [edi + 4]
mov dword [esi + 0x404], eax
mov eax, dword [edi + 0xdb90]
add eax, ebx
push eax
call fcn.004022c0
test eax, eax
mov dword [esi], eax
jne 0x410b27
mov dword [esi], ebp
mov ecx, dword [esi - 0x404]
mov edx, dword [esi]
push ecx
push edx
mov ecx, edi
call fcn.00411090
inc ebx
add esi, 4
cmp ebx, 0x100
jle 0x410ae8
mov byte [edi + 0xf581], 0
mov eax, dword [edi + 0xa4]
push 0
push 0
mov ecx, dword [eax + 0x20]
push 0xf
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
xor ebx, ebx
mov edx, dword [edi + 0xa4]
mov eax, dword [edx + 0x4c]
cmp eax, 0xfffffffe
jne 0x410bb6
mov eax, dword [0x47340c]
cmp eax, ebx
jl 0x410b94
cmp eax, 0x40
jge 0x410b94
mov ecx, dword [eax*4 + 0x473308]
cmp ecx, ebx
je 0x410b94
mov dl, byte [ecx + 0x81a]
test dl, dl
jne 0x410bb6
xor eax, eax
mov ecx, 0x473308
mov edx, dword [ecx]
cmp edx, ebx
je 0x410baa
cmp byte [edx + 0x81a], 0
jne 0x410bd2
inc eax
add ecx, 4
cmp eax, 0x40
jl 0x410b9b
or eax, 0xffffffff
cmp eax, ebx
jl 0x410bd9
cmp eax, 0x40
jge 0x410bd9
mov eax, dword [eax*4 + 0x473308]
cmp eax, ebx
je 0x410bd9
mov cl, byte [eax + 0x818]
jmp 0x410bdb
mov dword [0x47340c], eax
jmp 0x410bb6
xor cl, cl
mov al, byte [edi + 0x88]
cmp cl, al
je 0x410c28
mov ecx, dword [edi + 0xa4]
mov ecx, dword [ecx + 0x4c]
cmp ecx, ebx
jl 0x410c0a
cmp ecx, 0x40
jge 0x410c0a
mov ecx, dword [ecx*4 + 0x473308]
cmp ecx, ebx
je 0x410c0a
mov byte [ecx + 0x818], al
jmp 0x410c0c
xor al, al
mov edx, dword [edi + 0xa4]
and eax, 0xff
push ebx
push eax
mov eax, dword [edx + 0x20]
push 0x407
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov dword [edi + 0xac], ebx
mov byte [edi + 0xf581], 0
cmp dword [edi + 0xf568], ebx
je 0x410c44
mov ecx, edi
call fcn.00407420
mov byte [edi + 0xf582], 0
mov ecx, dword [esp + 0x3f18]
mov dword [edi + 0xf568], ebx
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret