Function at 0x418a96
Capabilities:
Check if file exists
Check os version
Encode data using base64
Get common file path
Get file attributes
Log keystrokes via polling
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0xa15c]
mov eax, 0xaf14
call fcn.004488f0
mov eax, dword [0x4705d0]
xor eax, ebp
mov dword [ebp + 0xa158], eax
mov eax, dword [ebp + 0xa168]
push ebx
push esi
mov esi, dword [ebp + 0xa164]
push edi
mov dword [ebp + 0x34], eax
push 7
xor ebx, ebx
pop ecx
xor eax, eax
mov byte [ebp + 0xa118], bl
lea edi, [ebp + 0xa119]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x7f
stosb byte es:[edi], al
lea eax, [ebp + 0x99]
push ebx
push eax
mov byte [ebp + 0x7f], bl
mov byte [ebp + 0x98], bl
call fcn.004464f0
xor eax, eax
push 7
pop ecx
mov byte [ebp + 0xa138], bl
lea edi, [ebp + 0xa139]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov dword [ebp + 0x48], ebx
lea edi, [ebp + 0x4c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x1fff
stosd dword es:[edi], eax
lea eax, [ebp + 0x8119]
push ebx
push eax
mov dword [ebp + 0x6c], ebx
mov byte [ebp + 0x8118], bl
call fcn.004464f0
push 0x7fff
lea eax, [ebp + 0x119]
push ebx
push eax
mov byte [ebp + 0x118], bl
call fcn.004464f0
fldz
push 0x38
lea eax, [ebp - 8]
fstp qword [ebp - 0x10]
push ebx
push eax
call fcn.004464f0
push 0xbf8
lea eax, [ebp - 0xdb0]
push ebx
push eax
mov byte [ebp - 0xdb8], bl
call fcn.004464f0
xor eax, eax
mov word [ebp - 0x20], ax
lea edi, [ebp - 0x1e]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
add esp, 0x3c
xor eax, eax
lea edi, [ebp - 0x24]
mov dword [ebp - 0x28], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x1b8], 0x45d4fc
mov dword [ebp - 0x1b4], 0x45d4f8
mov dword [ebp - 0x1b0], 0x45d4f4
mov dword [ebp - 0x1ac], 0x45d4f0
mov dword [ebp - 0x1a8], 0x45d4ec
mov dword [ebp - 0x1a4], 0x45d4e8
mov dword [ebp - 0x1a0], 0x45d4e4
mov dword [ebp - 0x19c], 0x45d4e0
mov dword [ebp - 0x198], 0x45d4dc
mov dword [ebp - 0x194], str.RANDBETWEEN
mov dword [ebp - 0x190], 0x45d4c8
mov dword [ebp - 0x18c], str.NOWn
mov dword [ebp - 0x188], str.TODAYa
mov dword [ebp - 0x184], str.RANDZ
mov dword [ebp - 0x180], str.GETTICKCOUNT
mov dword [ebp - 0x17c], str.TOPWINDOW
mov dword [ebp - 0x178], str.ABSA
mov dword [ebp - 0x174], str.CEILINGC
mov dword [ebp - 0x170], str.CEILC
mov dword [ebp - 0x16c], str.FLOORF
mov dword [ebp - 0x168], str.INTi
mov dword [ebp - 0x164], str.SQRTS
mov dword [ebp - 0x160], str.SQRS
mov dword [ebp - 0x15c], str.SINI
mov dword [ebp - 0x158], str.COSO
mov dword [ebp - 0x154], str.ATANB
mov dword [ebp - 0x150], str.TANG
mov dword [ebp - 0x14c], str.DECIMALJ
mov dword [ebp - 0x148], str.LENL
mov dword [ebp - 0x144], str.CHARH
mov dword [ebp - 0x140], str.CHRH
mov dword [ebp - 0x13c], str.CODEK
mov dword [ebp - 0x138], str.ASCK
mov dword [ebp - 0x134], str.TRIMx
mov dword [ebp - 0x130], str.TRIMWHITE
mov dword [ebp - 0x12c], 0x45d3e8
mov dword [ebp - 0x128], str.MSGBOX
mov dword [ebp - 0x124], str.ISKEYPRESSED
mov dword [ebp - 0x120], str.ISWINDOW
mov dword [ebp - 0x11c], str.FINDWINDOW
mov dword [ebp - 0x118], str.SETFOCUS
mov dword [ebp - 0x114], str.CLOSEWINDOW
mov dword [ebp - 0x110], str.VALUEV
mov dword [ebp - 0x10c], str.UPPERu
mov dword [ebp - 0x108], str.LOWERw
mov dword [ebp - 0x104], str.PROPER
mov dword [ebp - 0x100], str.YEARg
mov dword [ebp - 0xfc], str.DAYOFYEAR
mov dword [ebp - 0xf8], str.DAYSINYEAR
mov dword [ebp - 0xf4], str.MONTHLEN
mov dword [ebp - 0xf0], str.DAYSINMONTH
mov dword [ebp - 0xec], str.MONTHm
mov dword [ebp - 0xe8], str.DAYd
mov dword [ebp - 0xe4], str.DATEVALUEv
mov dword [ebp - 0xe0], str.TIMEVALUEj
mov dword [ebp - 0xdc], str.WEEKDAYk
mov dword [ebp - 0xd8], str.HOURh
mov dword [ebp - 0xd4], str.MINUTEe
mov dword [ebp - 0xd0], str.SECONDo
mov dword [ebp - 0xcc], str.NUM2WORDS
mov dword [ebp - 0xc8], str.STRREV
mov dword [ebp - 0xc4], str.DEC2HEX
mov dword [ebp - 0xc0], str.HEX2DEC
mov dword [ebp - 0xbc], str.ISODD
mov dword [ebp - 0xb8], str.FILEEXIST
mov dword [ebp - 0xb4], str.FOLDEREXIST
mov dword [ebp - 0xb0], str.FILESIZE
mov dword [ebp - 0xac], str.FILENAMECLEAN
mov dword [ebp - 0xa8], 0x45d280
mov dword [ebp - 0xa4], str.TYPE
mov dword [ebp - 0xa0], str.TEXTT
mov dword [ebp - 0x9c], str.MAXX
mov dword [ebp - 0x98], str.MINN
mov dword [ebp - 0x94], str.QUOTIENTQ
mov dword [ebp - 0x90], str.ROUNDR
mov dword [ebp - 0x8c], str.TRUNCU
mov dword [ebp - 0x88], 0x45d23c
mov dword [ebp - 0x84], 0x45d234
mov dword [ebp - 0x80], str.LTRIMb
mov dword [ebp - 0x7c], str.RTRIMc
mov dword [ebp - 0x78], 0x45d21c
mov dword [ebp - 0x74], str.GETPIXEL
mov dword [ebp - 0x70], str.LEFTl
mov dword [ebp - 0x6c], str.RIGHTr
mov dword [ebp - 0x68], str.FINDf
mov dword [ebp - 0x64], str.SEARCHs
mov eax, 0x4597fe
mov dword [ebp - 0x60], str.REPTq
mov dword [ebp - 0x5c], str.COUNTIFW
mov dword [ebp - 0x58], 0x45d1d4
mov dword [ebp - 0x54], str.MIDM
mov dword [ebp - 0x50], str.SUBSTITUTEIy
mov dword [ebp - 0x4c], str.SUBSTITUTEY
mov dword [ebp - 0x48], 0x45d1ac
mov dword [ebp - 0x44], str.DATED
mov dword [ebp - 0x40], str.TIMEt
mov dword [ebp - 0x3c], 0x45d194
mov dword [ebp - 0x38], str.CHOOSEz
mov dword [ebp - 0x34], 0x45d180
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
cmp esi, ebx
je 0x418f8b
cmp byte [esi], bl
je 0x418f8b
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
push esi
call ebx
mov edi, eax
mov eax, dword [ebp + 0x34]
mov dword [ebp + 0x80], edi
test eax, eax
je 0x418f56
mov byte [eax], 0
push 0x45d170
push esi
call fcn.00448020
pop ecx
pop ecx
test eax, eax
jne 0x418fa5
cmp dword [ebp + 0x34], eax
je 0x418f8b
push esi
call ebx
mov ecx, eax
mov eax, dword [ebp + 0xa16c]
inc ecx
cmp eax, ecx
jb 0x418f80
push esi
call ebx
inc eax
push eax
push esi
push dword [ebp + 0x34]
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
fldz
mov ecx, dword [ebp + 0xa158]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004464bf
add ebp, 0xa15c
leave
ret
lea ecx, [edi + 0x1000]
mov eax, 0x1000
cmp ecx, eax
jle 0x418fb6
mov eax, ecx
push 1
push eax
call fcn.004462a8
mov edi, eax
pop ecx
pop ecx
mov dword [ebp + 0x30], edi
test edi, edi
je 0x418f8b
push esi
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push edi
call fcn.00414106
cmp byte [edi], 0
pop ecx
mov dword [ebp + 0x70], edi
je 0x4190d1
mov eax, dword [ebp + 0x70]
mov al, byte [eax]
cmp al, 0x22
je 0x418ff5
cmp al, 0x27
je 0x418ff5
cmp al, 2
jne 0x419000
cmp byte [ebp + 0x7f], 0
jne 0x419006
mov byte [ebp + 0x7f], al
jmp 0x41900f
cmp byte [ebp + 0x7f], 0
je 0x41900f
cmp al, byte [ebp + 0x7f]
jne 0x41900f
mov byte [ebp + 0x7f], 0
and dword [ebp + 0x68], 0
cmp byte [ebp + 0x7f], 0
jne 0x4190c2
mov eax, dword [ebp + 0x68]
mov esi, dword [ebp + eax*4 - 0x1b8]
cmp byte [esi], 0
je 0x4190c2
push esi
call ebx
mov edi, eax
test esi, esi
je 0x41904b
lea eax, [edi - 1]
push eax
push esi
push dword [ebp + 0x70]
call fcn.00446461
add esp, 0xc
jmp 0x41904e
xor eax, eax
inc eax
test eax, eax
jne 0x41907c
mov al, byte [esi + edi - 1]
cmp al, 0x41
jl 0x41905e
cmp al, 0x5a
jle 0x419072
cmp al, 0x61
jl 0x419066
cmp al, 0x7a
jle 0x419072
cmp al, 0x3f
je 0x419072
cmp al, 0x82
jb 0x419084
cmp al, 0xfd
ja 0x419084
mov eax, dword [ebp + 0x70]
cmp byte [edi + eax - 1], 0x28
je 0x419084
inc dword [ebp + 0x68]
mov edi, dword [ebp + 0x30]
jmp 0x41901d
mov eax, dword [ebp + 0x70]
add eax, edi
lea ecx, [eax - 2]
test ecx, ecx
je 0x4190ac
lea esi, [eax - 2]
push esi
call ebx
inc eax
test eax, eax
jle 0x4190ac
push esi
call ebx
inc eax
push eax
push esi
push dword [ebp + 0x70]
call fcn.00446570
add esp, 0xc
mov eax, dword [ebp + 0x68]
mov eax, dword [ebp + eax*4 - 0x1b8]
mov al, byte [eax + edi - 1]
mov ecx, dword [ebp + 0x70]
mov edi, dword [ebp + 0x30]
mov byte [ecx], al
inc dword [ebp + 0x70]
mov eax, dword [ebp + 0x70]
cmp byte [eax], 0
jne 0x418fe4
cmp byte [edi], 0
mov ecx, edi
mov dword [ebp + 0x70], ecx
je 0x419196
mov al, byte [ecx]
cmp al, 0x20
je 0x419149
cmp al, 9
je 0x419149
cmp al, 0xd
je 0x419149
cmp al, 0xa
je 0x419149
cmp al, 0x5f
je 0x419149
cmp al, 0x22
je 0x419101
cmp al, 0x27
je 0x419101
cmp al, 2
jne 0x41910c
cmp byte [ebp + 0x7f], 0
jne 0x41910c
mov byte [ebp + 0x7f], al
jmp 0x419164
cmp al, 0x41
jl 0x419114
cmp al, 0x5a
jle 0x41911c
cmp al, 0x61
jl 0x41912e
cmp al, 0x7a
jg 0x41912e
cmp byte [ecx + 1], 0x28
je 0x41912e
cmp byte [ebp + 0x7f], 0
jne 0x419134
mov byte [ebp + 0x7f], 0x2c
jmp 0x419164
cmp byte [ebp + 0x7f], 0
je 0x419164
cmp al, byte [ebp + 0x7f]
je 0x419143
cmp byte [ebp + 0x7f], 0x2c
jne 0x419164
cmp al, 0x29
jne 0x419164
mov byte [ebp + 0x7f], 0
jmp 0x419164
cmp byte [ebp + 0x7f], 0
je 0x41916a
cmp byte [ebp + 0x7f], 0x2c
jne 0x419164
mov al, byte [ecx + 1]
cmp al, 0x20
je 0x41916a
cmp al, 0x2c
je 0x41916a
cmp al, 0x29
je 0x41916a
inc ecx
mov dword [ebp + 0x70], ecx
jmp 0x41918d
lea esi, [ecx + 1]
test esi, esi
je 0x41918d
push esi
call ebx
inc eax
test eax, eax
jle 0x41918a
push esi
call ebx
inc eax
push eax
push esi
push dword [ebp + 0x70]
call fcn.00446570
add esp, 0xc
mov ecx, dword [ebp + 0x70]
cmp byte [ecx], 0
jne 0x4190df
cmp byte [edi], 0x3d
jne 0x4191b9
lea esi, [edi + 1]
test esi, esi
je 0x4191b9
push esi
call ebx
inc eax
test eax, eax
jle 0x4191b9
push esi
call ebx
inc eax
push eax
push esi
push edi
call fcn.00446570
add esp, 0xc
push edi
call ebx
cmp byte [eax + edi - 1], 0x3b
jne 0x4191cb
push edi
call ebx
mov byte [eax + edi - 1], 0
mov edi, 0x45d16c
push edi
call ebx
push 0x4597fe
mov dword [ebp + 0x60], eax
call ebx
push edi
push dword [ebp + 0x30]
mov dword [ebp + 0x44], eax
call fcn.00445d80
pop ecx
pop ecx
mov esi, eax
jmp 0x41922a
mov eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x44]
add eax, esi
push eax
lea ebx, [esi + ecx]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
mov eax, dword [ebp + 0x60]
add eax, esi
push eax
push ebx
call fcn.00446570
push dword [ebp + 0x44]
push 0x4597fe
push esi
call fcn.00445ea0
add esp, 0x18
test ebx, ebx
je 0x419228
push edi
push ebx
jmp 0x4191e4
xor esi, esi
test esi, esi
jne 0x4191ef
mov edi, dword [ebp + 0x30]
xor dl, dl
xor eax, eax
cmp byte [edi], dl
je 0x4192ac
cmp eax, dword [ebp + 0x80]
jge 0x4192ac
mov cl, byte [eax + edi]
test dl, dl
jne 0x41925b
cmp cl, 0x22
je 0x419257
cmp cl, 0x27
je 0x419257
cmp cl, 2
jne 0x419265
mov dl, cl
jmp 0x419261
cmp cl, dl
jne 0x419261
xor dl, dl
test dl, dl
jne 0x4192a5
cmp cl, 0x2d
jne 0x419277
cmp byte [eax + edi + 1], cl
jne 0x419277
mov byte [eax + edi + 1], 0x5f
jmp 0x4192a5
test dl, dl
jne 0x4192a5
cmp cl, 0x2d
jne 0x4192a5
test eax, eax
je 0x4192a1
mov cl, byte [edi + eax - 1]
cmp cl, 0x30
jl 0x419292
cmp cl, 0x39
jle 0x4192a5
cmp cl, 0x2e
je 0x4192a5
cmp cl, 0x29
je 0x4192a5
cmp cl, 0x23
je 0x4192a5
mov byte [eax + edi], 0x5f
inc eax
cmp byte [eax + edi], 0
jne 0x419239
push 0x45b028
push edi
call fcn.004481e0
pop ecx
pop ecx
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jl 0x4192df
push edi
call fcn.004481cb
pop ecx
push edi
fstp qword [ebp + 0x74]
call fcn.00445e06
fld qword [ebp + 0x74]
pop ecx
jmp 0x418f8d
xor ebx, ebx
mov dword [ebp + 0x64], ebx
mov al, byte [edi]
test al, al
je 0x419655
cmp dword [ebp + 0x6c], 0x80
jge 0x419655
cmp al, 0x41
jl 0x419303
cmp al, 0x5a
jle 0x419327
cmp al, 0x61
jl 0x41930b
cmp al, 0x7a
jle 0x419327
cmp al, 0x30
jl 0x419313
cmp al, 0x39
jle 0x419327
cmp al, 0x2e
je 0x419327
cmp al, 0x22
je 0x419327
cmp al, 0x27
je 0x419327
cmp al, 2
jne 0x4194ce
lea ecx, [edi + 1]
cmp byte [ecx], 0x28
mov dword [ebp + 0x80], ecx
je 0x4194ce
xor ecx, ecx
mov al, byte [ecx + edi]
test al, al
je 0x419383
cmp al, 0x41
jl 0x41934a
cmp al, 0x5a
jle 0x41937a
cmp al, 0x61
jl 0x419352
cmp al, 0x7a
jle 0x41937a
cmp al, 0x30
jl 0x41935a
cmp al, 0x39
jle 0x41937a
cmp al, 0x2e
je 0x41937a
cmp al, 0x22
je 0x41937a
cmp al, 0x27
je 0x41937a
cmp al, 2
je 0x41937a
cmp al, 0x20
je 0x41937a
cmp al, 9
je 0x41937a
cmp al, 0xd
je 0x41937a
cmp al, 0xa
jne 0x419383
inc ecx
cmp ecx, 0x1000
jl 0x41933b
lea eax, [ecx + 1]
mov ecx, 0x1ffe
cmp eax, ecx
jle 0x419391
mov eax, ecx
push eax
push edi
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea eax, [ebp + 0x8118]
push str.0123456789.__t_r_n
push eax
mov byte [ebp + 0x7f], 0
xor esi, esi
call fcn.004481e0
pop ecx
mov ebx, eax
pop ecx
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp ebx, eax
jb 0x419429
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 0x20
jge 0x419429
mov al, byte [edi]
cmp al, 0x30
jl 0x4193e8
cmp al, 0x39
jle 0x4193ec
cmp al, 0x2e
jne 0x4193fc
cmp esi, 0x20
jge 0x4193fc
mov byte [ebp + esi + 0xa118], al
inc esi
inc edi
jmp 0x4193de
mov byte [ebp + esi + 0xa118], 0
mov esi, dword [ebp + 0x6c]
lea eax, [ebp + 0xa118]
imul esi, esi, 0x18
push eax
call fcn.004481cb
mov al, byte [ebp + 0xa118]
pop ecx
mov byte [ebp + esi - 0xdb8], al
jmp 0x4194bc
mov al, byte [edi]
cmp al, 0x22
je 0x419437
cmp al, 0x27
je 0x419437
cmp al, 2
jne 0x419440
mov edi, dword [ebp + 0x80]
mov byte [ebp + 0x7f], al
mov esi, dword [ebp + 0x6c]
imul esi, esi, 0x18
cmp byte [ebp + 0x7f], 0
mov dword [ebp + esi - 0xda8], edi
je 0x41947a
movsx ebx, byte [ebp + 0x7f]
push ebx
push edi
call fcn.00445cc0
pop ecx
pop ecx
test eax, eax
je 0x419471
push ebx
push edi
call fcn.00445cc0
pop ecx
pop ecx
sub eax, edi
jmp 0x419492
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
jmp 0x419492
mov cl, byte [edi]
xor eax, eax
jmp 0x41948e
cmp cl, 0x2c
je 0x419492
cmp cl, 0x29
je 0x419492
inc eax
mov cl, byte [eax + edi]
test cl, cl
jne 0x419480
mov dword [ebp + esi - 0xda4], eax
cmp eax, 0x1000
jae 0x4196e1
mov cl, byte [ebp + 0x7f]
fldz
add edi, eax
xor eax, eax
cmp byte [edi], cl
mov byte [ebp + esi - 0xdb8], 0x20
sete al
add edi, eax
inc dword [ebp + 0x6c]
fstp qword [ebp + esi - 0xdb0]
mov ebx, dword [ebp + 0x64]
jmp 0x41964d
cmp al, 0x2c
jne 0x419516
test ebx, ebx
jle 0x419645
mov ecx, dword [ebp + 0x6c]
imul ecx, ecx, 0x18
lea ecx, [ebp + ecx - 0xdb8]
cmp byte [ebp + ebx + 0x97], 0x28
je 0x419643
dec ebx
inc dword [ebp + 0x6c]
lea eax, [ebp + ebx + 0x98]
mov dl, byte [eax]
mov byte [ecx], dl
add ecx, 0x18
mov dword [ebp + 0x64], ebx
mov byte [eax], 0
test ebx, ebx
jg 0x4194e7
jmp 0x419643
movsx eax, al
push eax
push str.__________:
call fcn.00445cc0
pop ecx
pop ecx
test eax, eax
jne 0x419592
mov al, byte [edi]
cmp al, 0x28
je 0x419592
cmp al, 0x29
jne 0x419643
dec ebx
mov dword [ebp + 0x64], ebx
js 0x419647
mov edx, dword [ebp + 0x6c]
imul edx, edx, 0x18
lea edx, [ebp + edx - 0xdb8]
lea eax, [ebp + ebx + 0x98]
mov cl, byte [eax]
test cl, cl
je 0x419572
cmp cl, 0x28
je 0x419572
inc dword [ebp + 0x6c]
mov byte [edx], cl
add edx, 0x18
dec ebx
mov byte [eax], 0
mov dword [ebp + 0x64], ebx
jns 0x41954f
test ebx, ebx
jl 0x419647
lea eax, [ebp + ebx + 0x98]
cmp byte [eax], 0x28
jne 0x419643
mov byte [eax], 0
jmp 0x419643
test ebx, ebx
je 0x41962b
mov cl, byte [edi]
cmp cl, 0x28
je 0x41962b
test ebx, ebx
jle 0x419622
mov esi, dword [ebp + 0x6c]
imul esi, esi, 0x18
lea esi, [ebp + esi - 0xdb8]
cmp cl, 0x5e
je 0x4195ec
cmp cl, 0x25
je 0x4195ec
cmp cl, 0x21
je 0x4195e2
movzx eax, byte [ebp + ebx + 0x97]
push eax
call fcn.00414063
push ecx
mov edx, eax
call fcn.00414063
add esp, 8
cmp eax, edx
jle 0x419609
cmp cl, 0x25
je 0x4195ec
cmp cl, 0x21
jne 0x419622
movzx eax, byte [ebp + ebx + 0x97]
push eax
call fcn.00414063
push ecx
mov edx, eax
call fcn.00414063
add esp, 8
cmp eax, edx
jge 0x419622
dec ebx
inc dword [ebp + 0x6c]
lea eax, [ebp + ebx + 0x98]
mov dl, byte [eax]
mov byte [esi], dl
add esi, 0x18
mov byte [eax], 0
test ebx, ebx
jg 0x4195b6
mov byte [ebp + ebx + 0x98], cl
jmp 0x419634
mov al, byte [edi]
mov byte [ebp + ebx + 0x98], al
lea eax, [ebx + 1]
push 0x3f
pop ebx
cmp eax, ebx
jg 0x419649
mov ebx, eax
mov dword [ebp + 0x64], ebx
test ebx, ebx
jge 0x41964c
xor ebx, ebx
mov dword [ebp + 0x64], ebx
inc edi
test edi, edi
jne 0x4192e4
dec ebx
js 0x419684
mov ecx, dword [ebp + 0x6c]
imul ecx, ecx, 0x18
lea ecx, [ebp + ecx - 0xdb8]
mov al, byte [ebp + ebx + 0x98]
test al, al
je 0x419684
cmp dword [ebp + 0x6c], 0x80
jge 0x419684
inc dword [ebp + 0x6c]
mov byte [ecx], al
add ecx, 0x18
dec ebx
jns 0x419665
xor ecx, ecx
xor ebx, ebx
mov dword [ebp + 0x6c], ecx
cmp byte [ebp - 0xdb8], bl
je 0x41c7c0
mov dword [ebp + 0x80], ecx
lea eax, [ebp - 0xdb8]
mov esi, 0x76c
mov dl, byte [eax]
cmp dl, 0x30
mov byte [ebp + 0x7f], dl
jl 0x4196b7
cmp dl, 0x39
jle 0x4196bc
cmp dl, 0x2e
jne 0x4196ff
lea eax, [ebx + 1]
cmp eax, 8
jge 0x4196ff
fld qword [ebp + ecx - 0xdb0]
fstp qword [ebp + ebx*8 - 0x10]
shl ebx, 0xc
mov byte [ebp + ebx + 0x118], 0
mov ebx, eax
jmp 0x41c710
cmp dword [ebp + 0x34], 0
je 0x4196f5
push str.Parameter_too_big
push dword [ebp + 0x34]
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
fldz
mov edi, dword [ebp + 0x30]
jmp 0x4192cd
cmp dl, 0x20
jne 0x419747
lea edi, [ebx + 1]
cmp edi, 8
jge 0x419747
mov eax, dword [ebp + ecx - 0xda4]
inc eax
mov edx, 0xfff
cmp eax, edx
jbe 0x41971f
mov eax, edx
push eax
push dword [ebp + ecx - 0xda8]
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
fldz
fstp qword [ebp + ebx*8 - 0x10]
mov ebx, edi
jmp 0x41c710
movsx edi, dl
push edi
push str.__________:
mov dword [ebp + 0x60], edi
call fcn.00445cc0
pop ecx
pop ecx
test eax, eax
je 0x41c710
push edi
push str._______:
call fcn.00445cc0
pop ecx
pop ecx
test eax, eax
je 0x419778
push 2
pop edi
jmp 0x4197b8
push edi
push 0x45d0a8
call fcn.00445cc0
pop ecx
pop ecx
test eax, eax
je 0x41978d
push 3
jmp 0x419775
push edi
push 0x45d0a4
call fcn.00445cc0
pop ecx
pop ecx
test eax, eax
je 0x4197a2
push 4
jmp 0x419775
push dword [ebp + 0x60]
push 0x45d09c
call fcn.00445cc0
mov edi, eax
neg edi
pop ecx
sbb edi, edi
pop ecx
inc edi
cmp ebx, edi
mov dword [ebp + 0x44], edi
jl 0x41c734
fldz
push 0x2000
xor edi, edi
fstp qword [ebp + 0x74]
lea eax, [ebp + 0x8118]
push edi
dec ebx
push eax
mov dword [ebp + 0x64], ebx
call fcn.004464f0
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp eax, 0x46
jg 0x41b365
je 0x41b352
cmp eax, 0xfffffff1
jg 0x41a2ab
je 0x41a713
cmp eax, 0xffffffe2
jg 0x419b39
je 0x419b03
cmp eax, 0xffffffba
jg 0x4199b5
je 0x41ad6f
cmp eax, 0xffffff83
je 0x41999e
cmp eax, 0xffffffa1
je 0x41996c
cmp eax, 0xffffffa2
je 0x4198d8
cmp eax, 0xffffffa3
je 0x41a713
cmp eax, 0xffffffa5
je 0x419879
cmp eax, 0xffffffaa
jne case.0x41b371.91
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
test eax, eax
jge 0x41c688
fadd qword [0x45b530]
jmp 0x41c688
push edi
call dword [sym.imp.USER32.dll_GetDC]
lea ebx, [ebp + ebx*8 - 0x10]
fld qword [ebx]
mov esi, eax
call fcn.00448380
fld qword [ebx - 8]
push eax
call fcn.00448380
push eax
push esi
call dword [sym.imp.GDI32.dll_GetPixel]
push esi
push edi
mov ebx, eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, ebx
sar eax, 0x10
movzx eax, al
push eax
mov eax, ebx
shr eax, 8
movzx eax, al
push eax
movzx eax, bl
push eax
push str._02X_02X_02X
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x41c68b
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov al, byte [ebp + 0x8118]
test al, al
je 0x419933
cmp al, 0x20
je 0x419910
cmp al, 0xd
je 0x419910
cmp al, 0xa
je 0x419910
cmp al, 9
jne 0x419933
lea eax, [ebp + 0x8119]
push eax
call esi
inc eax
push eax
lea eax, [ebp + 0x8119]
push eax
lea eax, [ebp + 0x8118]
push eax
call fcn.00446570
add esp, 0xc
jmp 0x4198f6
lea eax, [ebp + 0x8118]
push eax
call esi
jmp 0x419962
lea ecx, [ebp + eax + 0x8118]
mov dl, byte [ecx]
cmp dl, 0x20
je 0x41995f
cmp dl, 0xd
je 0x41995f
cmp dl, 0xa
je 0x41995f
cmp dl, 9
jne 0x41c68b
mov byte [ecx], 0
dec eax
cmp eax, edi
jg 0x41993e
jmp 0x41c68b
mov eax, ebx
shl eax, 0xc
cmp byte [ebp + eax + 0x118], 0
jne 0x41998f
fldz
mov dword [ebp + 0x60], 1
fcomp qword [ebp + ebx*8 - 0x10]
fnstsw ax
test ah, 0x44
jp 0x419996
mov dword [ebp + 0x60], 2
fild dword [ebp + 0x60]
jmp 0x41c688
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x419866
cmp eax, 0xffffffbc
je 0x419ad6
cmp eax, 0xffffffbd
je 0x419aa9
cmp eax, 0xffffffbf
je 0x419a59
cmp eax, 0xffffffc6
je 0x419a37
cmp eax, 0xffffffe0
je 0x419a0d
cmp eax, 0xffffffe1
jne case.0x41b371.91
fld qword [ebp + ebx*8 - 0x10]
call fcn.004483b6
cmp eax, edi
je 0x419a02
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp + 0x60], 1
test eax, eax
jne 0x419a05
mov dword [ebp + 0x60], edi
fild dword [ebp + 0x60]
jmp 0x41c688
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0x8118]
push eax
call fcn.00449990
pop ecx
jmp 0x41c68b
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
call fcn.00413ec2
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41c688
fld qword [ebp + ebx*8 - 0x10]
call fcn.00448380
cmp eax, 0x14
je 0x419a94
cmp eax, 0x90
je 0x419a94
cmp eax, 0x91
je 0x419a94
cmp eax, 1
je 0x419a8b
cmp eax, 2
je 0x419a8b
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
jmp 0x419a9b
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
jmp 0x419a86
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
and eax, 1
mov dword [ebp + 0x70], eax
fild dword [ebp + 0x70]
jmp 0x41c688
lea esi, [ebp + ebx*8 - 0x10]
fld qword [esi]
call fcn.00448380
fld qword [esi - 8]
push eax
call fcn.00448380
push eax
call fcn.00414b9e
pop ecx
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41c688
lea esi, [ebp + ebx*8 - 0x10]
fld qword [esi]
call fcn.00448380
fld qword [esi - 8]
push eax
call fcn.00448380
push eax
call fcn.00414bba
pop ecx
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41c688
fld qword [ebp + ebx*8 - 0x10]
push 0xf
push ecx
mov eax, ebx
shl eax, 0xc
push ecx
lea esi, [ebp + eax + 0x118]
fstp qword [esp]
push esi
call fcn.00416b8a
push edi
lea eax, [ebp + 0x8118]
push eax
push esi
call fcn.00415918
add esp, 0x1c
mov byte [esi], 0
jmp 0x41c68b
add eax, 0x1c
cmp eax, 0xb
ja case.0x41b371.91
jmp dword [eax*4 + 0x41c80e]
fld qword [ebp + ebx*8 - 0x10]
call fcn.004483b6
push eax
push 0x45d088
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x41c68b
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
call fcn.00414836
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x419866
fld qword [ebp + ebx*8 - 0x10]
call fcn.00448380
and eax, 1
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
fld qword [ebp + ebx*8 - 0x10]
call fcn.00448380
cmp eax, 0x3c
jne 0x419bd4
mov ecx, esi
push 2
pop esi
mov dword [ebp + 0x48], ecx
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x50], 0x1d
jmp 0x419c7d
lea ecx, [eax + 1]
jl 0x419bdb
mov ecx, eax
add ecx, 0x25e584
mov eax, ecx
shl eax, 2
cdq
mov esi, 0x23ab1
idiv esi
mov esi, 0x164b09
push 0x1f
mov edi, eax
imul eax, eax, 0x23ab1
add eax, 3
cdq
and edx, 3
add eax, edx
sar eax, 2
neg eax
add ecx, eax
lea eax, [ecx + 1]
imul eax, eax, 0xfa0
cdq
idiv esi
mov esi, 0x98f
mov dword [ebp + 0x80], eax
imul eax, eax, 0x5b5
cdq
and edx, 3
add eax, edx
sar eax, 2
pop edx
sub edx, eax
add ecx, edx
mov eax, ecx
imul eax, eax, 0x50
cdq
idiv esi
push 0x50
pop ebx
push 0xb
mov esi, eax
imul eax, eax, 0x98f
cdq
idiv ebx
sub ecx, eax
mov dword [ebp + 0x50], ecx
mov eax, esi
cdq
pop ecx
idiv ecx
mov ecx, eax
imul ecx, ecx, 0xc
sub esi, ecx
lea ecx, [edi - 0x31]
imul ecx, ecx, 0x64
add ecx, dword [ebp + 0x80]
inc esi
inc esi
add ecx, eax
cmp esi, 1
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x48], ecx
jle 0x419c8b
mov dword [ebp + 0x80], 0x1f
xor edi, edi
jmp 0x419c93
xor edi, edi
mov dword [ebp + 0x80], edi
cmp esi, 2
jle 0x419cd4
mov eax, ecx
and eax, 0x80000003
jns 0x419ca6
dec eax
or eax, 0xfffffffc
inc eax
jne 0x419ccb
mov eax, ecx
push 0x64
cdq
pop ebx
idiv ebx
test edx, edx
jne 0x419cc2
mov eax, ecx
cdq
mov ecx, 0x190
idiv ecx
test edx, edx
jne 0x419ccb
mov dword [ebp + 0x70], 0x1d
jmp 0x419cd7
mov dword [ebp + 0x70], 0x1c
jmp 0x419cd7
mov dword [ebp + 0x70], edi
cmp esi, 3
mov dword [ebp + 0x40], 0x1f
jg 0x419ce6
mov dword [ebp + 0x40], edi
cmp esi, 4
mov dword [ebp + 0x38], 0x1e
jg 0x419cf5
mov dword [ebp + 0x38], edi
cmp esi, 5
mov dword [ebp + 0x68], 0x1f
jg 0x419d04
mov dword [ebp + 0x68], edi
cmp esi, 6
mov dword [ebp + 0x60], 0x1e
jg 0x419d13
mov dword [ebp + 0x60], edi
cmp esi, 7
jle 0x419d1d
push 0x1f
pop ebx
jmp 0x419d1f
xor ebx, ebx
cmp esi, 8
jle 0x419d29
push 0x1f
pop edi
jmp 0x419d2b
xor edi, edi
cmp esi, 9
jle 0x419d35
push 0x1e
pop edx
jmp 0x419d37
xor edx, edx
cmp esi, 0xa
jle 0x419d41
push 0x1f
pop ecx
jmp 0x419d43
xor ecx, ecx
cmp esi, 0xb
jle 0x419d4d
push 0x1e
pop eax
jmp 0x419d4f
xor eax, eax
add eax, ecx
add eax, edx
add eax, edi
add eax, ebx
add eax, dword [ebp + 0x60]
add eax, dword [ebp + 0x68]
add eax, dword [ebp + 0x38]
add eax, dword [ebp + 0x40]
add eax, dword [ebp + 0x70]
add eax, dword [ebp + 0x80]
add eax, dword [ebp + 0x50]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
fld qword [ebp + ebx*8 - 0x10]
call fcn.00448380
cmp eax, 0x3c
jne 0x419da3
mov ecx, esi
mov dword [ebp + 0x4c], 2
mov dword [ebp + 0x50], 0x1d
jmp 0x419e46
lea ecx, [eax + 1]
jl 0x419daa
mov ecx, eax
add ecx, 0x25e584
mov eax, ecx
shl eax, 2
cdq
mov esi, 0x23ab1
idiv esi
mov esi, 0x164b09
push 0x1f
mov edi, eax
imul eax, eax, 0x23ab1
add eax, 3
cdq
and edx, 3
add eax, edx
sar eax, 2
neg eax
add ecx, eax
lea eax, [ecx + 1]
imul eax, eax, 0xfa0
cdq
idiv esi
mov esi, 0x98f
mov dword [ebp + 0x80], eax
imul eax, eax, 0x5b5
cdq
and edx, 3
add eax, edx
sar eax, 2
pop edx
sub edx, eax
add ecx, edx
mov eax, ecx
imul eax, eax, 0x50
cdq
idiv esi
push 0x50
pop ebx
push 0xb
mov esi, eax
imul eax, eax, 0x98f
cdq
idiv ebx
sub ecx, eax
mov dword [ebp + 0x50], ecx
mov eax, esi
cdq
pop ecx
idiv ecx
mov ecx, eax
imul ecx, ecx, 0xc
sub esi, ecx
lea ecx, [edi - 0x31]
imul ecx, ecx, 0x64
inc esi
add ecx, eax
add ecx, dword [ebp + 0x80]
inc esi
mov dword [ebp + 0x4c], esi
xor edi, edi
mov eax, ecx
and eax, 0x80000003
mov dword [ebp + 0x48], ecx
jns 0x419e57
dec eax
or eax, 0xfffffffc
inc eax
jne 0x419e78
mov eax, ecx
push 0x64
cdq
pop esi
idiv esi
test edx, edx
jne 0x419e73
mov eax, ecx
cdq
mov ecx, 0x190
idiv ecx
test edx, edx
jne 0x419e78
xor eax, eax
inc eax
jmp 0x419e7a
xor eax, eax
add eax, 0x16d
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
fld qword [ebp + ebx*8 - 0x10]
call fcn.00448380
cmp eax, 0x3c
jne 0x419eb3
mov ecx, esi
mov dword [ebp + 0x4c], 2
mov dword [ebp + 0x50], 0x1d
jmp 0x419f59
lea ecx, [eax + 1]
jl 0x419eba
mov ecx, eax
add ecx, 0x25e584
mov eax, ecx
shl eax, 2
cdq
mov esi, 0x23ab1
idiv esi
mov esi, 0x164b09
push 0x1f
mov edi, eax
imul eax, eax, 0x23ab1
add eax, 3
cdq
and edx, 3
add eax, edx
sar eax, 2
neg eax
add ecx, eax
lea eax, [ecx + 1]
imul eax, eax, 0xfa0
cdq
idiv esi
mov esi, 0x98f
mov dword [ebp + 0x80], eax
imul eax, eax, 0x5b5
cdq
and edx, 3
add eax, edx
sar eax, 2
pop edx
sub edx, eax
add ecx, edx
mov eax, ecx
imul eax, eax, 0x50
cdq
idiv esi
push 0x50
pop ebx
push 0xb
mov esi, eax
imul eax, eax, 0x98f
cdq
idiv ebx
mov ebx, dword [ebp + 0x64]
sub ecx, eax
mov dword [ebp + 0x50], ecx
mov eax, esi
cdq
pop ecx
idiv ecx
mov ecx, eax
imul ecx, ecx, 0xc
sub esi, ecx
lea ecx, [edi - 0x31]
imul ecx, ecx, 0x64
add ecx, dword [ebp + 0x80]
inc esi
inc esi
add ecx, eax
mov dword [ebp + 0x4c], esi
xor edi, edi
fld1
mov dword [ebp + 0x48], ecx
fcomp qword [ebp + ebx*8 - 0x10]
fnstsw ax
test ah, 0x41
jne 0x419f71
mov dword [ebp + 0x80], edi
jmp 0x419fd5
mov eax, dword [ebp + 0x4c]
and eax, 9
cmp eax, 8
je 0x419f85
cmp eax, 1
je 0x419f85
xor esi, esi
jmp 0x419f88
xor esi, esi
inc esi
mov eax, ecx
and eax, 0x80000003
jns 0x419f96
dec eax
or eax, 0xfffffffc
inc eax
jne 0x419fb2
mov eax, ecx
push 0x64
cdq
pop ebx
idiv ebx
test edx, edx
jne 0x419fbd
mov eax, ecx
cdq
mov ecx, 0x190
idiv ecx
test edx, edx
je 0x419fbd
cmp dword [ebp + 0x4c], 2
jne 0x419fbd
xor eax, eax
inc eax
jmp 0x419fbf
xor eax, eax
xor ecx, ecx
cmp dword [ebp + 0x4c], 2
sete cl
sub esi, ecx
sub esi, eax
add esi, 0x1e
mov dword [ebp + 0x80], esi
fild dword [ebp + 0x80]
jmp 0x41c688
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
call fcn.00413b64
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x419866
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor ecx, ecx
cmp byte [ebp + 0x8118], cl
je 0x41c68b
cmp ecx, edi
je 0x41a058
mov al, byte [ebp + ecx + 0x8117]
cmp al, 0x61
jl 0x41a03b
cmp al, 0x7a
jle 0x41a043
cmp al, 0x41
jl 0x41a058
cmp al, 0x5a
jg 0x41a058
lea edx, [ebp + ecx + 0x8118]
mov al, byte [edx]
cmp al, 0x41
jl 0x41a06d
cmp al, 0x5a
jg 0x41a06d
add al, 0x20
jmp 0x41a06b
lea edx, [ebp + ecx + 0x8118]
mov al, byte [edx]
cmp al, 0x61
jl 0x41a06d
cmp al, 0x7a
jg 0x41a06d
sub al, 0x20
mov byte [edx], al
inc ecx
cmp byte [ebp + ecx + 0x8118], 0
jne 0x41a028
jmp 0x41c68b
lea eax, [ebx - 2]
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp + 0x8118]
push eax
lea esi, [ebp + ebx*8 - 0x18]
call edi
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fcomp qword [esi]
fnstsw ax
test ah, 1
je 0x41c68b
shl ebx, 0xc
lea ebx, [ebp + ebx + 0x118]
jmp 0x41a117
fld qword [esi]
fld qword [0x45d080]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x41a0e7
fstp st(0)
fld qword [esi]
lea eax, [ebp + 0x8118]
fstp qword [ebp + 0x3c]
push eax
call edi
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fcomp qword [ebp + 0x3c]
fnstsw ax
test ah, 5
jp 0x41a11c
push ebx
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [ebx], 0
jne 0x41a0d0
fld qword [esi]
call fcn.00448380
mov ecx, 0xfff
cmp eax, ecx
jg 0x41a12e
mov ecx, eax
mov byte [ebp + ecx + 0x8118], 0
jmp 0x41c68b
shl ebx, 0xc
lea esi, [ebp + ebx + 0x118]
lea eax, [esi - 0x1000]
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [esi], 0
je 0x41c68b
cmp esi, edi
je 0x41a177
lea eax, [ebp + 0x8118]
push esi
push eax
call fcn.00445d80
pop ecx
pop ecx
jmp 0x41a179
xor eax, eax
cmp eax, edi
je 0x41c68b
cmp esi, edi
je 0x41a196
lea eax, [ebp + 0x8118]
push esi
push eax
call fcn.00445d80
pop ecx
pop ecx
jmp 0x41a198
xor eax, eax
mov byte [eax], 0
jmp 0x41c68b
lea eax, [ebx - 3]
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
fld qword [ebp + ebx*8 - 0x20]
call fcn.00448380
lea esi, [eax - 1]
cmp esi, edi
jge 0x41a1cd
xor esi, esi
fld qword [ebp + ebx*8 - 0x18]
mov dword [ebp + 0x48], esi
call fcn.00448380
cmp eax, edi
jge 0x41a1df
xor eax, eax
mov dword [ebp + 0x4c], eax
mov ecx, 0xfff
add eax, esi
cmp eax, ecx
mov dword [ebp + 0x50], ecx
jg 0x41a1f3
mov dword [ebp + 0x50], eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jle 0x41a21a
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
lea eax, [ebp + 0x8118]
jmp 0x41ad63
mov eax, dword [ebp + 0x50]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp + eax + 0x8118]
push eax
mov dword [ebp + 0x80], eax
lea edi, [ebp + esi + 0x8118]
call ebx
inc eax
push eax
push dword [ebp + 0x80]
push edi
call fcn.00446570
mov eax, dword [ebp + 0x64]
shl eax, 0xc
add esp, 0xc
lea eax, [ebp + eax + 0x118]
push edi
mov dword [ebp + 0x70], eax
call ebx
inc eax
push eax
push edi
push dword [ebp + 0x70]
call ebx
add eax, esi
lea eax, [ebp + eax + 0x8118]
push eax
call fcn.00446570
add esp, 0xc
lea eax, [ebp + 0x8118]
push eax
call ebx
cmp esi, eax
jl 0x41a290
lea eax, [ebp + 0x8118]
push eax
call ebx
mov esi, eax
push dword [ebp + 0x70]
call ebx
push eax
push dword [ebp + 0x70]
lea eax, [ebp + esi + 0x8118]
push eax
call fcn.00445ea0
jmp 0x419b68
cmp eax, 0x2b
jg 0x41ae26
je 0x41ae18
cmp eax, 0x21
jg 0x41acad
je 0x41ac85
cmp eax, 0xfffffff2
je 0x41a931
cmp eax, 0xfffffff3
je 0x41a713
cmp eax, 0xfffffff4
je 0x41a6d0
cmp eax, 0xfffffff6
je 0x41a6ae
cmp eax, 0xfffffffa
je 0x41a713
cmp eax, 0xfffffffb
jne case.0x41b371.91
shl ebx, 0xc
lea esi, [ebp + ebx + 0x118]
push 0x45d078
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41a341
push 0xc
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
push str.maxcolor
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41a3a3
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0xc
call ebx
mov esi, dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
mov edi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
call edi
cmp eax, 0x18
jle 0x41a378
push 0x18
pop eax
jmp 0x41a382
push 0xc
call ebx
push eax
call esi
push eax
call edi
cmp eax, 1
push 2
pop ecx
jle 0x41a390
dec eax
add ecx, ecx
dec eax
jne 0x41a38b
mov dword [ebp + 0x80], ecx
fild dword [ebp + 0x80]
test ecx, ecx
jmp 0x419868
push str.directory
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41a3f8
lea eax, [ebp + 0x8118]
push eax
push 0x102
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
jmp 0x41a3ee
lea ecx, [ebp + eax + 0x8118]
mov dl, byte [ecx]
cmp dl, 0x5c
je 0x41a3eb
test dl, dl
jne 0x41c68b
mov byte [ecx], 0
dec eax
cmp eax, edi
jg 0x41a3d5
jmp 0x41c68b
push 0x45d058
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41a422
push 0x50
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
push str.osname
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41a50f
mov esi, dword [sym.imp.KERNEL32.dll_GetVersion]
call esi
cmp al, 5
jne 0x41a456
call esi
shr eax, 8
cmp al, 1
jne 0x41a456
mov eax, str.Windows_XP
jmp 0x41a509
call fcn.00413c82
test eax, eax
je 0x41a469
mov eax, str.Windows_Server_2008
jmp 0x41a509
call esi
cmp al, 6
jne 0x41a482
call esi
shr eax, 8
test al, al
jne 0x41a482
mov eax, str.Windows_Vista
jmp 0x41a509
call esi
cmp al, 6
jne 0x41a498
call esi
shr eax, 8
cmp al, 1
jne 0x41a498
mov eax, str.Windows_7
jmp 0x41a509
call esi
cmp al, 5
jne 0x41a4ae
call esi
shr eax, 8
cmp al, 2
jne 0x41a4ae
mov eax, str.Windows_2003
jmp 0x41a509
call esi
cmp al, 5
jne 0x41a4c4
call esi
shr eax, 8
test al, al
jne 0x41a4c4
mov eax, str.Windows_2000
jmp 0x41a509
call esi
cmp al, 4
jne 0x41a4da
call esi
shr eax, 8
cmp al, 0x5a
jne 0x41a4da
mov eax, str.Windows_ME
jmp 0x41a509
call esi
cmp al, 4
jne 0x41a4f0
call esi
shr eax, 8
cmp al, 0xa
jne 0x41a4f0
mov eax, str.Windows_98
jmp 0x41a509
call esi
cmp al, 4
jne 0x41a504
call esi
shr eax, 8
test al, al
mov eax, str.Windows_NT
je 0x41a509
mov eax, str.Unknown
push eax
jmp 0x41ac73
push str.osversionex
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41a568
push 0x90
lea eax, [ebp + 0x88]
push edi
push eax
call fcn.004464f0
add esp, 0xc
lea eax, [ebp + 0x84]
push eax
mov dword [ebp + 0x84], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
push dword [ebp + 0x90]
push dword [ebp + 0x8c]
push dword [ebp + 0x88]
push str._d._d._d
jmp 0x4198c3
push str.osversion
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41a5a5
mov esi, dword [sym.imp.KERNEL32.dll_GetVersion]
call esi
shr eax, 8
movzx eax, al
push eax
call esi
movzx eax, al
push eax
lea eax, [ebp + 0x8118]
push str._d._d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
jmp 0x41bf93
push str.memavail
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x41a698
push 0x45cf88
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x41a698
push str.totmem
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x41a682
push str.memtot
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x41a682
push str.memused
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41a62b
call fcn.00413ce5
mov esi, eax
call fcn.00413d0d
sub esi, eax
mov dword [ebp + 0x80], esi
fild dword [ebp + 0x80]
test esi, esi
jmp 0x419868
push str.screenx
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41a654
push edi
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
push str.screeny
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41c68b
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
call fcn.00413d0d
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x419866
call fcn.00413ce5
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x419866
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
call fcn.00413fbe
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x419866
shl ebx, 0xc
lea esi, [ebp + ebx + 0x118]
cmp esi, edi
je 0x41a702
cmp byte [esi], 0
je 0x41a702
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push esi
call ebx
test al, 0x10
je 0x41a702
push esi
call ebx
mov dword [ebp + 0x80], 1
cmp eax, 0xffffffff
jne 0x41a708
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41c688
mov eax, dword [ebp + 0x80]
mov al, byte [ebp + eax - 0xda0]
mov dword [ebp + 0x4c], edi
mov dword [ebp + 0x48], edi
test al, al
je 0x41a7d0
cmp al, 0x3f
jne 0x41a739
mov dword [ebp + 0x4c], 1
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x48]
add ecx, eax
imul ecx, ecx, 0x18
mov al, byte [ebp + ecx - 0xda0]
test al, al
jne 0x41a72e
cmp dword [ebp + 0x4c], edi
je 0x41a7d0
fldz
lea ecx, [ebp + ebx*8 - 0x10]
fcomp qword [ecx]
fnstsw ax
test ah, 0x44
jnp 0x41a785
fld qword [ecx]
call fcn.004483b6
push eax
lea eax, [ebp + 0x8118]
push 0x45aabc
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x41a79d
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
lea eax, [ebp + 0x8118]
push eax
lea eax, [ebp + 0x8119]
push eax
call fcn.00446570
mov al, byte [ebp + 0x7f]
add esp, 0xc
mov byte [ebp + 0x8118], al
jmp 0x41c68b
mov al, byte [ebp + 0x7f]
cmp al, 0xfa
jne 0x41a7f4
push edi
shl ebx, 0xc
push str.__r_n
lea eax, [ebp + ebx + 0x118]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x41c68b
cmp al, 0xf3
jne 0x41a88b
fld qword [ebp + ebx*8 - 0x10]
call fcn.004483b6
mov esi, eax
cmp esi, edi
je 0x41a87a
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41a861
push esi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x41a82a
push 9
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
push 0xf150
push 0x112
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push esi
call dword [sym.imp.USER32.dll_BringWindowToTop]
push esi
call dword [sym.imp.USER32.dll_SetActiveWindow]
push esi
call dword [sym.imp.USER32.dll_SetFocus]
cmp esi, edi
je 0x41a87a
push esi
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp + 0x80], 1
test eax, eax
jne 0x41a880
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41c688
cmp al, 0xa3
jne 0x41a8d7
fld qword [ebp + ebx*8 - 0x10]
call fcn.004483b6
push edi
push edi
mov esi, eax
push 0x10
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fstp qword [ebp + 0x74]
cmp esi, edi
je 0x41c68b
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41c68b
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x41c68b
cmp al, 0xf1
jne 0x41c68b
mov edi, dword [ebp + 0x64]
shl edi, 0xc
lea esi, [ebp + edi + 0x118]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
lea eax, [ebp + edi + 0x119]
push esi
push eax
call fcn.00446570
add esp, 0xc
mov byte [esi], 0x22
test esi, esi
je 0x41a919
push 0x45aca0
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push esi
call fcn.00413d35
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41c688
shl ebx, 0xc
lea eax, [ebp + ebx + 0x119]
cmp byte [eax], 0x3a
mov dword [ebp + 0x40], eax
jne 0x41a96b
mov byte [eax], 0xb2
lea edi, [ebp + ebx + 0x118]
mov dword [ebp + 0x70], edi
test edi, edi
je 0x41aa81
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41a9bd
cmp cl, 0x3a
jne 0x41a968
mov byte [eax], 0x20
inc eax
jmp 0x41a95a
lea esi, [ebp + ebx + 0x118]
cmp esi, edi
je 0x41a988
push 2
push 0x45b334
push esi
call fcn.00448060
add esp, 0xc
jmp 0x41a98b
xor eax, eax
inc eax
cmp eax, edi
je 0x41a946
cmp esi, edi
je 0x41a946
mov eax, esi
mov cl, byte [eax]
test cl, cl
je 0x41a9a6
cmp cl, 0x5c
jne 0x41a9a3
mov byte [eax], 0x20
inc eax
jmp 0x41a995
cmp esi, edi
je 0x41a946
mov eax, esi
mov cl, byte [eax]
test cl, cl
je 0x41a946
cmp cl, 0x2f
jne 0x41a9ba
mov byte [eax], 0x20
inc eax
jmp 0x41a9ac
test edi, edi
je 0x41aa81
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41a9d8
cmp cl, 0xb2
jne 0x41a9d5
mov byte [eax], 0x3a
inc eax
jmp 0x41a9c7
test edi, edi
je 0x41aa81
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41a9f3
cmp cl, 0x3e
jne 0x41a9f0
mov byte [eax], 0x20
inc eax
jmp 0x41a9e2
test edi, edi
je 0x41aa81
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41aa0e
cmp cl, 0x3c
jne 0x41aa0b
mov byte [eax], 0x20
inc eax
jmp 0x41a9fd
test edi, edi
je 0x41aa81
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41aa25
cmp cl, 0x2a
jne 0x41aa22
mov byte [eax], 0x20
inc eax
jmp 0x41aa14
test edi, edi
je 0x41aa81
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41aa3c
cmp cl, 0x7c
jne 0x41aa39
mov byte [eax], 0x20
inc eax
jmp 0x41aa2b
test edi, edi
je 0x41aa81
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41aa53
cmp cl, 0xd
jne 0x41aa50
mov byte [eax], 0x20
inc eax
jmp 0x41aa42
test edi, edi
je 0x41aa81
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41aa6a
cmp cl, 0xa
jne 0x41aa67
mov byte [eax], 0x20
inc eax
jmp 0x41aa59
test edi, edi
je 0x41aa81
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41aa81
cmp cl, 9
jne 0x41aa7e
mov byte [eax], 0x20
inc eax
jmp 0x41aa70
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, 0x45cf58
push ebx
call esi
push str.__r_n
mov dword [ebp + 0x38], eax
call esi
mov dword [ebp + 0x80], eax
test edi, edi
je 0x41aaee
push ebx
jmp 0x41aae2
mov eax, dword [ebp + 0x38]
lea ebx, [esi + eax]
mov eax, dword [ebp + 0x80]
push ebx
lea edi, [esi + eax]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push ebx
push edi
call fcn.00446570
push dword [ebp + 0x80]
push str.__r_n
push esi
call fcn.00445ea0
add esp, 0x18
test edi, edi
je 0x41aaee
push 0x45cf58
push edi
call fcn.00445d80
pop ecx
pop ecx
mov esi, eax
jmp 0x41aaf0
xor esi, esi
test esi, esi
jne 0x41aaa6
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, 0x45cf54
push edi
call esi
push str.__r_n
mov dword [ebp + 0x38], eax
call esi
cmp dword [ebp + 0x70], 0
mov dword [ebp + 0x80], eax
je 0x41ab66
push edi
push dword [ebp + 0x70]
jmp 0x41ab5b
mov eax, dword [ebp + 0x38]
lea ebx, [esi + eax]
mov eax, dword [ebp + 0x80]
push ebx
lea edi, [esi + eax]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push ebx
push edi
call fcn.00446570
push dword [ebp + 0x80]
push str.__r_n
push esi
call fcn.00445ea0
add esp, 0x18
test edi, edi
je 0x41ab66
push 0x45cf54
push edi
call fcn.00445d80
pop ecx
pop ecx
mov esi, eax
jmp 0x41ab68
xor esi, esi
test esi, esi
jne 0x41ab1e
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, 0x45cf50
push edi
call esi
push str.__r_n
mov dword [ebp + 0x38], eax
call esi
cmp dword [ebp + 0x70], 0
mov dword [ebp + 0x80], eax
je 0x41abde
push edi
push dword [ebp + 0x70]
jmp 0x41abd3
mov eax, dword [ebp + 0x38]
lea ebx, [esi + eax]
mov eax, dword [ebp + 0x80]
push ebx
lea edi, [esi + eax]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push ebx
push edi
call fcn.00446570
push dword [ebp + 0x80]
push str.__r_n
push esi
call fcn.00445ea0
add esp, 0x18
test edi, edi
je 0x41abde
push 0x45cf50
push edi
call fcn.00445d80
pop ecx
pop ecx
mov esi, eax
jmp 0x41abe0
xor esi, esi
test esi, esi
jne 0x41ab96
mov esi, dword [ebp + 0x70]
test esi, esi
je 0x41ac49
mov edi, esi
mov al, byte [edi]
test al, al
je 0x41ac16
cmp al, 0x3f
je 0x41abfe
cmp al, 0x22
je 0x41abfe
inc edi
jmp 0x41abed
lea ebx, [edi + 1]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push ebx
push edi
call fcn.00446570
add esp, 0xc
jmp 0x41abed
test esi, esi
je 0x41ac49
mov al, byte [esi]
test al, al
je 0x41ac49
cmp al, 0x20
je 0x41ac30
cmp al, 9
je 0x41ac30
cmp al, 0xd
je 0x41ac30
cmp al, 0xa
jne 0x41ac49
push dword [ebp + 0x40]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [ebp + 0x40]
push esi
call fcn.00446570
add esp, 0xc
jmp 0x41ac1a
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
jmp 0x41ac6d
mov cl, byte [esi + eax]
cmp cl, 0x20
je 0x41ac69
cmp cl, 9
je 0x41ac69
cmp cl, 0xd
je 0x41ac69
cmp cl, 0xa
jne 0x41ac72
mov byte [esi + eax], 0
dec eax
test eax, eax
jg 0x41ac52
push esi
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x41c68b
fldz
mov dword [ebp + 0x80], 1
fcomp qword [ebp + ebx*8 - 0x10]
fnstsw ax
test ah, 0x44
jnp 0x41aca2
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41c688
sub eax, 0x23
je 0x41ae09
dec eax
je 0x41ada0
dec eax
je 0x41ad6f
dec eax
je 0x41acde
sub eax, 4
jne case.0x41b371.91
lea eax, [ebp + ebx*8 - 0x10]
fld qword [eax - 8]
fmul qword [eax]
jmp 0x41c688
mov eax, ebx
shl eax, 0xc
lea esi, [ebp + eax + 0x118]
cmp byte [esi], 0
jne 0x41ad20
cmp byte [esi - 0x1000], 0
jne 0x41ad20
lea esi, [ebp + ebx*8 - 0x10]
fld qword [esi - 8]
call fcn.00448380
fld qword [esi]
mov edi, eax
call fcn.00448380
and edi, eax
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41c688
lea eax, [esi - 0x1000]
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp + 0x8118]
push eax
call edi
lea eax, [ebp + eax + 0x8118]
test eax, eax
je 0x41c68b
push esi
lea eax, [ebp + 0x8118]
push eax
call edi
lea eax, [ebp + eax + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x41c68b
fldz
lea ecx, [ebp + ebx*8 - 0x10]
fcom qword [ecx]
fnstsw ax
test ah, 0x44
jnp 0x41c688
fstp st(0)
sub esp, 0x10
fld qword [ecx]
fstp qword [esp + 8]
fld qword [ecx - 8]
fstp qword [esp]
call fcn.00449950
add esp, 0x10
jmp 0x41c688
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
cmp byte [eax], 0
jne 0x41ade5
cmp byte [eax - 0x1000], 0
jne 0x41ade5
lea ebx, [ebp + ebx*8 - 0x10]
fld qword [ebx]
mov dword [ebp + 0x80], 1
fcomp qword [ebx - 8]
fnstsw ax
test ah, 0x44
jp 0x41adda
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41c688
push eax
add eax, 0xfffff000
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
neg eax
sbb eax, eax
neg eax
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
fld qword [ebp + ebx*8 - 0x10]
fadd qword [0x45cb78]
jmp 0x41c688
lea eax, [ebp + ebx*8 - 0x10]
fld qword [eax - 8]
fadd qword [eax]
jmp 0x41c688
cmp eax, 0x3e
jg 0x41b037
je 0x41afce
sub eax, 0x2d
je 0x41afc0
dec eax
dec eax
je 0x41afa1
sub eax, 0xb
je 0x41af69
dec eax
je 0x41af31
dec eax
je 0x41aec8
dec eax
jne case.0x41b371.91
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
cmp byte [eax], 0
jne 0x41aea5
cmp byte [eax - 0x1000], 0
jne 0x41aea5
lea ebx, [ebp + ebx*8 - 0x10]
fld qword [ebx]
mov dword [ebp + 0x80], 1
fcomp qword [ebx - 8]
fnstsw ax
test ah, 0x44
jnp 0x41ae9a
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41c688
push eax
add eax, 0xfffff000
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
neg eax
sbb eax, eax
inc eax
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
cmp byte [eax], 0
jne 0x41af0d
cmp byte [eax - 0x1000], 0
jne 0x41af0d
lea ebx, [ebp + ebx*8 - 0x10]
fld qword [ebx]
mov dword [ebp + 0x80], 1
fcomp qword [ebx - 8]
fnstsw ax
test ah, 0x41
je 0x41af02
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41c688
push eax
add eax, 0xfffff000
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
inc eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
fldz
lea ebx, [ebp + ebx*8 - 0x10]
fcom qword [ebx - 8]
fnstsw ax
test ah, 0x44
jnp 0x41af56
fcomp qword [ebx]
fnstsw ax
test ah, 0x44
jnp 0x41af58
mov dword [ebp + 0x80], 1
jmp 0x41af5e
fstp st(0)
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41c688
fldz
lea ebx, [ebp + ebx*8 - 0x10]
fcom qword [ebx - 8]
fnstsw ax
test ah, 0x44
jp 0x41af8a
fcomp qword [ebx]
fnstsw ax
test ah, 0x44
jp 0x41af8c
mov dword [ebp + 0x80], edi
jmp 0x41af96
fstp st(0)
mov dword [ebp + 0x80], 1
fild dword [ebp + 0x80]
jmp 0x41c688
fldz
lea ecx, [ebp + ebx*8 - 0x10]
fcom qword [ecx]
fnstsw ax
test ah, 0x44
jnp 0x41c688
fstp st(0)
fld qword [ecx - 8]
fdiv qword [ecx]
jmp 0x41c688
lea eax, [ebp + ebx*8 - 0x10]
fld qword [eax - 8]
fsub qword [eax]
jmp 0x41c688
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
cmp byte [eax], 0
jne 0x41b013
cmp byte [eax - 0x1000], 0
jne 0x41b013
lea ebx, [ebp + ebx*8 - 0x10]
fld qword [ebx]
mov dword [ebp + 0x80], 1
fcomp qword [ebx - 8]
fnstsw ax
test ah, 5
jnp 0x41b008
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41c688
push eax
add eax, 0xfffff000
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
sub eax, 0x3f
je 0x41b0c9
dec eax
dec eax
je 0x41b0ad
dec eax
je 0x41b09d
dec eax
je 0x41b088
dec eax
jne case.0x41b371.91
fld qword [ebp + ebx*8 - 0x10]
call fcn.00448380
fld qword [ebp + ebx*8 - 0x18]
push eax
call fcn.00448380
fld qword [ebp + ebx*8 - 0x20]
push eax
call fcn.00448380
push eax
call fcn.004139b0
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
add esp, 0xc
jmp 0x41c688
fld qword [ebp + ebx*8 - 0x10]
push ecx
push ecx
fstp qword [esp]
call fcn.00448430
pop ecx
pop ecx
jmp 0x41c688
fld qword [ebp + ebx*8 - 0x10]
push ecx
push ecx
fstp qword [esp]
call fcn.00449830
jmp 0x41b096
fldz
lea ecx, [ebp + ebx*8 - 0x10]
fcomp qword [ecx]
fnstsw ax
fld qword [ecx]
test ah, 0x41
jne 0x41c688
fchs
jmp 0x41c688
lea eax, [ebx - 2]
mov ecx, eax
shl ecx, 0xc
cmp byte [ebp + ecx + 0x118], 0
jne 0x41b125
fldz
fcomp qword [ebp + eax*8 - 0x10]
fnstsw ax
test ah, 0x44
jp 0x41b125
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
cmp byte [eax], 0
je 0x41b11f
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
test eax, eax
jge 0x41b156
fadd qword [0x45b530]
jmp 0x41b156
fld qword [ebp + ebx*8 - 0x10]
jmp 0x41b156
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax - 0xee8]
cmp byte [eax], 0
je 0x41b152
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41b113
fld qword [ebp + ebx*8 - 0x18]
mov al, byte [ebp + 0x8118]
fstp qword [ebp + 0x74]
cmp al, 0xfa
je 0x41b1e9
cmp al, 0xf3
je 0x41b202
cmp al, 0xa3
je 0x41b183
cmp al, 0xf1
jne 0x41c68b
cmp al, 0xa3
jne 0x41b30d
push 0
push 0
lea eax, [ebp + 0x8119]
push 0x10
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
lea eax, [ebp + 0x8119]
push eax
fstp qword [ebp + 0x74]
call fcn.0040109c
pop ecx
test eax, eax
je 0x41b346
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41b346
lea eax, [ebp + 0x8119]
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x41b346
push edi
push str.__r_n
lea eax, [ebp + 0x8119]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x41b346
lea eax, [ebp + 0x8119]
push eax
call fcn.0040109c
pop ecx
cmp eax, edi
je 0x41b2d9
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41b2d9
lea eax, [ebp + 0x8119]
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x41b254
lea eax, [ebp + 0x8119]
push 9
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [ebp + 0x8119]
push eax
call fcn.0040109c
pop ecx
push eax
push 0xf150
push 0x112
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [ebp + 0x8119]
push 5
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [ebp + 0x8119]
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
lea eax, [ebp + 0x8119]
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_BringWindowToTop]
lea eax, [ebp + 0x8119]
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_SetActiveWindow]
lea eax, [ebp + 0x8119]
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_SetFocus]
lea eax, [ebp + 0x8119]
push eax
call fcn.0040109c
pop ecx
cmp eax, edi
je 0x41b2ff
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp + 0x80], 1
test eax, eax
jne 0x41b305
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41b343
cmp al, 0xf1
jne 0x41b346
push 0x45aca0
lea eax, [ebp + 0x8118]
push eax
mov byte [ebp + 0x8118], 0x22
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp + 0x8118]
push eax
call fcn.00413d35
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
fstp qword [ebp + 0x74]
mov byte [ebp + 0x8118], 0
jmp 0x41c68b
fld qword [ebp + ebx*8 - 0x10]
push ecx
push ecx
fstp qword [esp]
call fcn.00448a60
jmp 0x41b096
sub eax, 0x47
cmp eax, 0x37
ja case.0x41b371.91
jmp dword [eax*4 + 0x41c83e]
fld qword [ebp + ebx*8 - 0x10]
jmp 0x41b0c2
fld qword [ebp + ebx*8 - 0x10]
fsub qword [0x45cb78]
jmp 0x41c688
lea eax, [ebp + ebx*8 - 0x10]
fld qword [eax]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [eax - 8]
fstp qword [esp]
call fcn.004495a0
jmp 0x41ad98
lea esi, [ebp + ebx*8 - 0x10]
fld qword [esi - 8]
call fcn.00448380
fld qword [esi]
mov edi, eax
call fcn.00448380
or edi, eax
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41c688
lea esi, [ebp + ebx*8 - 0x10]
fld qword [esi - 8]
call fcn.00448380
fld qword [esi]
mov edi, eax
call fcn.00448380
xor edi, eax
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41c688
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
cmp byte [eax], 0
jne 0x41b442
cmp byte [eax - 0x1000], 0
jne 0x41b442
lea ebx, [ebp + ebx*8 - 0x10]
fld qword [ebx]
mov dword [ebp + 0x80], 1
fcomp qword [ebx - 8]
fnstsw ax
test ah, 1
je 0x41b437
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41c688
push eax
add eax, 0xfffff000
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
cmp eax, 0xffffffff
je 0x41b45e
mov dword [ebp + 0x80], edi
cmp eax, edi
jne 0x41b468
mov dword [ebp + 0x80], 1
fild dword [ebp + 0x80]
jmp 0x41c688
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
cmp byte [eax], 0
jne 0x41b4b8
cmp byte [eax - 0x1000], 0
jne 0x41b4b8
lea ebx, [ebp + ebx*8 - 0x10]
fld qword [ebx]
mov dword [ebp + 0x80], 1
fcomp qword [ebx - 8]
fnstsw ax
test ah, 0x41
jnp 0x41b4ad
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41c688
push eax
add eax, 0xfffff000
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x41b4d6
mov dword [ebp + 0x80], edi
cmp eax, edi
jne 0x41b4dc
mov dword [ebp + 0x80], ecx
fild dword [ebp + 0x80]
jmp 0x41c688
lea ecx, [ebp + ebx*8 - 0x10]
fld qword [ecx]
fcomp qword [ecx - 8]
fnstsw ax
test ah, 5
jp 0x41b4ff
fld qword [ecx - 8]
jmp 0x41c688
fld qword [ecx]
jmp 0x41c688
lea ecx, [ebp + ebx*8 - 0x10]
fld qword [ecx]
fcomp qword [ecx - 8]
fnstsw ax
test ah, 0x41
jne 0x41b4ff
jmp 0x41b4f7
lea esi, [ebp + ebx*8 - 0x10]
fld qword [esi]
call fcn.00448380
fld qword [esi - 8]
movzx eax, ax
push eax
push ecx
push ecx
fstp qword [esp]
call fcn.00414a59
add esp, 0xc
jmp 0x41c688
lea esi, [ebp + ebx*8 - 0x10]
fld qword [esi]
call fcn.00448380
fld qword [esi - 8]
movzx eax, ax
push eax
push ecx
push ecx
fstp qword [esp]
call fcn.00414b2d
jmp 0x41b534
push 0xf
push ecx
lea esi, [ebp + ebx*8 - 0x10]
fld qword [esi]
push ecx
lea eax, [ebp + 0x8118]
fstp qword [esp]
push eax
call fcn.00416b8a
lea eax, [ebp + 0x8118]
push 0x2e
push eax
call fcn.00445cc0
add esp, 0x18
test eax, eax
je 0x41b59a
lea eax, [ebp + 0x8118]
push 0x2e
push eax
call fcn.00445cc0
pop ecx
pop ecx
jmp 0x41b59f
mov eax, 0x4597fe
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
fldz
fcomp qword [esi]
fnstsw ax
test ah, 0x41
jne 0x41b5c1
or dword [ebp + 0x80], 0xffffffff
jmp 0x41b5cb
mov dword [ebp + 0x80], 1
lea eax, [ebp + 0x8118]
push eax
call fcn.004481cb
fimul dword [ebp + 0x80]
pop ecx
mov byte [ebp + 0x8118], 0
jmp 0x41c688
fldz
lea ecx, [ebp + ebx*8 - 0x10]
fcom qword [ecx]
fnstsw ax
test ah, 0x41
je 0x41c688
fstp st(0)
push ecx
fld qword [ecx]
push ecx
fstp qword [esp]
call fcn.004494f4
jmp 0x41b096
fld qword [ebp + ebx*8 - 0x10]
push ecx
push ecx
fstp qword [esp]
call fcn.004493b0
jmp 0x41b096
fld qword [ebp + ebx*8 - 0x10]
push ecx
push ecx
fstp qword [esp]
call fcn.00449280
jmp 0x41b096
fld qword [ebp + ebx*8 - 0x10]
push ecx
push ecx
fstp qword [esp]
call fcn.00449150
jmp 0x41b096
fld qword [0x45cf48]
jmp 0x41c688
shl ebx, 0xc
lea esi, [ebp + ebx + 0x118]
mov dword [ebp + 0x80], edi
cmp esi, edi
je 0x41b6ba
mov ecx, dword [ebp + 0x80]
mov al, byte [esi + ecx]
test al, al
je 0x41b6ba
cmp al, 0x30
jl 0x41b67d
cmp al, 0x39
jle 0x41b6a7
cmp al, 0x2d
je 0x41b6a7
cmp al, 0x2e
je 0x41b6a7
cmp ecx, edi
jne 0x41b6b0
lea edi, [ebp + ebx + 0x119]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push edi
push esi
call fcn.00446570
add esp, 0xc
xor edi, edi
jmp 0x41b668
inc ecx
mov dword [ebp + 0x80], ecx
jmp 0x41b668
add ebx, ecx
mov byte [ebp + ebx + 0x118], 0
push esi
call fcn.004481cb
jmp 0x41b097
fldz
lea ecx, [ebp + ebx*8 - 0x10]
fcomp qword [ecx]
fnstsw ax
fld qword [ecx]
test ah, 0x41
je 0x41b356
call fcn.00448380
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
fldz
lea ecx, [ebp + ebx*8 - 0x10]
fcom qword [ecx]
fnstsw ax
test ah, 0x44
jnp 0x41c688
fstp st(0)
fld qword [ecx - 8]
fdiv qword [ecx]
call fcn.00448380
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x41b737
push dword [ebp - 0x28]
call fcn.00447f65
pop ecx
call fcn.00447f77
cmp byte [ebp + 0x7f], 0xee
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fmul qword [0x45cf40]
fstp qword [ebp + 0x74]
jne 0x41c68b
lea ecx, [ebp + ebx*8 - 0x10]
fld qword [ecx]
fcomp qword [ecx - 8]
fnstsw ax
test ah, 5
jp 0x41b76f
fldz
jmp 0x41b77a
fld qword [ecx]
fsub qword [ecx - 8]
fmul qword [ebp + 0x74]
fadd qword [ecx - 8]
call fcn.00448380
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x48]
push eax
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
call fcn.0041838a
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push dword [ebp + 0x48]
call fcn.004139b0
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
add esp, 0x1c
jmp 0x41c688
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x1a]
push eax
movzx eax, word [ebp - 0x1e]
push eax
movzx eax, word [ebp - 0x20]
push eax
call fcn.004139b0
mov dword [ebp + 0x80], eax
movzx eax, word [ebp - 0x14]
fild dword [ebp + 0x80]
push eax
movzx eax, word [ebp - 0x16]
fstp qword [ebp + 0x74]
push eax
movzx eax, word [ebp - 0x18]
push eax
call fcn.00413970
add esp, 0x18
fadd qword [ebp + 0x74]
jmp 0x41c688
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x1a]
push eax
movzx eax, word [ebp - 0x1e]
push eax
movzx eax, word [ebp - 0x20]
push eax
call fcn.004139b0
mov dword [ebp + 0x80], eax
add esp, 0xc
fild dword [ebp + 0x80]
jmp 0x41c688
fld qword [ebp + ebx*8 - 0x10]
call fcn.00448380
cmp eax, 0x3c
jne 0x41b870
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x4c], 2
mov dword [ebp + 0x50], 0x1d
jmp 0x41b914
lea ecx, [eax + 1]
jl 0x41b877
mov ecx, eax
add ecx, 0x25e584
mov eax, ecx
shl eax, 2
cdq
mov esi, 0x23ab1
idiv esi
mov esi, 0x164b09
push 0x1f
mov edi, eax
imul eax, eax, 0x23ab1
add eax, 3
cdq
and edx, 3
add eax, edx
sar eax, 2
neg eax
add ecx, eax
lea eax, [ecx + 1]
imul eax, eax, 0xfa0
cdq
idiv esi
mov esi, 0x98f
add edi, 0xffffffcf
imul edi, edi, 0x64
mov dword [ebp + 0x80], eax
imul eax, eax, 0x5b5
cdq
and edx, 3
add eax, edx
sar eax, 2
pop edx
sub edx, eax
add ecx, edx
mov eax, ecx
imul eax, eax, 0x50
cdq
idiv esi
push 0x50
pop ebx
push 0xb
add edi, dword [ebp + 0x80]
mov esi, eax
imul eax, eax, 0x98f
cdq
idiv ebx
sub ecx, eax
mov eax, esi
mov dword [ebp + 0x50], ecx
cdq
pop ecx
idiv ecx
mov ecx, eax
imul ecx, ecx, 0xc
sub esi, ecx
inc esi
inc esi
add edi, eax
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x48], edi
fild dword [ebp + 0x48]
jmp 0x41c688
fld qword [ebp + ebx*8 - 0x10]
call fcn.00448380
cmp eax, 0x3c
jne 0x41b940
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x4c], 2
mov dword [ebp + 0x50], 0x1d
jmp 0x41b9e4
lea ecx, [eax + 1]
jl 0x41b947
mov ecx, eax
add ecx, 0x25e584
mov eax, ecx
shl eax, 2
cdq
mov esi, 0x23ab1
idiv esi
mov esi, 0x164b09
push 0x1f
mov edi, eax
imul eax, eax, 0x23ab1
add eax, 3
cdq
and edx, 3
add eax, edx
sar eax, 2
neg eax
add ecx, eax
lea eax, [ecx + 1]
imul eax, eax, 0xfa0
cdq
idiv esi
mov esi, 0x98f
add edi, 0xffffffcf
imul edi, edi, 0x64
mov dword [ebp + 0x80], eax
imul eax, eax, 0x5b5
cdq
and edx, 3
add eax, edx
sar eax, 2
pop edx
sub edx, eax
add ecx, edx
mov eax, ecx
imul eax, eax, 0x50
cdq
idiv esi
push 0x50
pop ebx
push 0xb
add edi, dword [ebp + 0x80]
mov esi, eax
imul eax, eax, 0x98f
cdq
idiv ebx
sub ecx, eax
mov eax, esi
mov dword [ebp + 0x50], ecx
cdq
pop ecx
idiv ecx
mov ecx, eax
imul ecx, ecx, 0xc
sub esi, ecx
inc esi
inc esi
add edi, eax
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x48], edi
fild dword [ebp + 0x4c]
jmp 0x41c688
fld qword [ebp + ebx*8 - 0x10]
call fcn.00448380
cmp eax, 0x3c
jne 0x41ba10
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x4c], 2
mov dword [ebp + 0x50], 0x1d
jmp 0x41bab4
lea ecx, [eax + 1]
jl 0x41ba17
mov ecx, eax
add ecx, 0x25e584
mov eax, ecx
shl eax, 2
cdq
mov esi, 0x23ab1
idiv esi
mov esi, 0x164b09
push 0x1f
mov edi, eax
imul eax, eax, 0x23ab1
add eax, 3
cdq
and edx, 3
add eax, edx
sar eax, 2
neg eax
add ecx, eax
lea eax, [ecx + 1]
imul eax, eax, 0xfa0
cdq
idiv esi
mov esi, 0x98f
add edi, 0xffffffcf
imul edi, edi, 0x64
mov dword [ebp + 0x80], eax
imul eax, eax, 0x5b5
cdq
and edx, 3
add eax, edx
sar eax, 2
pop edx
sub edx, eax
add ecx, edx
mov eax, ecx
imul eax, eax, 0x50
cdq
idiv esi
push 0x50
pop ebx
push 0xb
add edi, dword [ebp + 0x80]
mov esi, eax
imul eax, eax, 0x98f
cdq
idiv ebx
sub ecx, eax
mov eax, esi
mov dword [ebp + 0x50], ecx
cdq
pop ecx
idiv ecx
mov ecx, eax
imul ecx, ecx, 0xc
sub esi, ecx
inc esi
inc esi
add edi, eax
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x48], edi
fild dword [ebp + 0x50]
jmp 0x41c688
fld qword [ebp + ebx*8 - 0x10]
call fcn.00448380
cmp eax, 0x3c
jne 0x41badf
mov ecx, esi
mov dword [ebp + 0x4c], 2
mov dword [ebp + 0x50], 0x1d
jmp 0x41bb80
lea ecx, [eax + 1]
jl 0x41bae6
mov ecx, eax
add ecx, 0x25e584
mov eax, ecx
shl eax, 2
cdq
mov esi, 0x23ab1
idiv esi
mov esi, 0x164b09
push 0x1f
mov edi, eax
imul eax, eax, 0x23ab1
add eax, 3
cdq
and edx, 3
add eax, edx
sar eax, 2
neg eax
add ecx, eax
lea eax, [ecx + 1]
imul eax, eax, 0xfa0
cdq
idiv esi
mov esi, 0x98f
mov dword [ebp + 0x80], eax
imul eax, eax, 0x5b5
cdq
and edx, 3
add eax, edx
sar eax, 2
pop edx
sub edx, eax
add ecx, edx
mov eax, ecx
imul eax, eax, 0x50
cdq
idiv esi
push 0x50
pop ebx
push 0xb
mov esi, eax
imul eax, eax, 0x98f
cdq
idiv ebx
sub ecx, eax
mov dword [ebp + 0x50], ecx
mov eax, esi
cdq
pop ecx
idiv ecx
mov ecx, eax
imul ecx, ecx, 0xc
sub esi, ecx
lea ecx, [edi - 0x31]
imul ecx, ecx, 0x64
add ecx, dword [ebp + 0x80]
inc esi
inc esi
mov dword [ebp + 0x4c], esi
add ecx, eax
push dword [ebp + 0x50]
mov dword [ebp + 0x48], ecx
push dword [ebp + 0x4c]
push ecx
call fcn.0041564d
add esp, 0xc
inc eax
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
fld qword [ebp + ebx*8 - 0x10]
call fcn.00448380
fld qword [ebp + ebx*8 - 0x18]
push eax
call fcn.00448380
fld qword [ebp + ebx*8 - 0x20]
push eax
call fcn.00448380
push eax
call fcn.00413970
jmp 0x41b534
lea esi, [ebp + ebx*8 - 0x10]
fld qword [esi]
call fcn.00448380
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fsubr qword [esi]
fmul qword [0x45c8c0]
fadd qword [0x45b1d0]
call fcn.00448380
mov esi, eax
cdq
mov ecx, 0xe10
idiv ecx
push 0x3c
pop edi
mov ecx, eax
mov edx, ecx
imul edx, edx, 0xe10
mov eax, esi
sub eax, edx
cdq
idiv edi
mov dword [ebp + 0x48], ecx
imul ecx, ecx, 0x3c
add ecx, eax
imul ecx, ecx, 0x3c
sub esi, ecx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], esi
jmp 0x41b914
lea esi, [ebp + ebx*8 - 0x10]
fld qword [esi]
call fcn.00448380
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fsubr qword [esi]
fmul qword [0x45c8c0]
fadd qword [0x45b1d0]
call fcn.00448380
mov esi, eax
cdq
mov ecx, 0xe10
idiv ecx
push 0x3c
pop edi
mov ecx, eax
mov edx, ecx
imul edx, edx, 0xe10
mov eax, esi
sub eax, edx
cdq
idiv edi
mov dword [ebp + 0x48], ecx
imul ecx, ecx, 0x3c
add ecx, eax
imul ecx, ecx, 0x3c
sub esi, ecx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], esi
jmp 0x41b9e4
lea esi, [ebp + ebx*8 - 0x10]
fld qword [esi]
call fcn.00448380
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fsubr qword [esi]
fmul qword [0x45c8c0]
fadd qword [0x45b1d0]
call fcn.00448380
mov esi, eax
cdq
mov ecx, 0xe10
idiv ecx
push 0x3c
pop edi
mov ecx, eax
mov edx, ecx
imul edx, edx, 0xe10
mov eax, esi
sub eax, edx
cdq
idiv edi
mov dword [ebp + 0x48], ecx
imul ecx, ecx, 0x3c
add ecx, eax
imul ecx, ecx, 0x3c
sub esi, ecx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], esi
jmp 0x41bab4
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x48]
push eax
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
call fcn.004150f8
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push dword [ebp + 0x48]
call fcn.00413970
add esp, 0x1c
jmp 0x41c688
fldz
lea ecx, [ebp + ebx*8 - 0x10]
fcomp qword [ecx]
fnstsw ax
test ah, 0x44
jnp 0x41bd47
fld qword [ecx]
push 0xf
push ecx
push ecx
lea eax, [ebp + 0x8118]
fstp qword [esp]
push eax
call fcn.00416b8a
jmp 0x41bf93
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp + 0x8118]
mov al, byte [ecx]
test al, al
je 0x41c68b
cmp al, 0x61
jl 0x41bd7b
cmp al, 0x7a
jg 0x41bd7b
sub al, 0x20
mov byte [ecx], al
inc ecx
jmp 0x41bd65
fldz
lea ecx, [ebp + ebx*8 - 0x10]
fcomp qword [ecx]
fnstsw ax
test ah, 0x44
jp 0x41bd2d
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp + 0x8118]
mov al, byte [ecx]
test al, al
je 0x41c68b
cmp al, 0x41
jl 0x41bdc1
cmp al, 0x5a
jg 0x41bdc1
add al, 0x20
mov byte [ecx], al
inc ecx
jmp 0x41bdab
shl ebx, 0xc
lea ebx, [ebp + ebx + 0x118]
lea esi, [ebx - 0x1000]
mov dword [ebp + 0x70], edi
mov byte [ebp + 0x8118], 0
cmp esi, edi
je 0x41c68b
cmp byte [esi], 0
je 0x41c68b
test ebx, ebx
je 0x41be00
push ebx
push esi
call fcn.00445d80
pop ecx
pop ecx
mov edi, eax
jmp 0x41be02
xor edi, edi
mov eax, dword [ebp + 0x64]
fld qword [ebp + eax*8 - 0x20]
fsub qword [0x45cb78]
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x41be1e
fstp st(1)
jmp 0x41be20
fstp st(0)
fild dword [ebp + 0x70]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41be4e
mov esi, edi
test edi, edi
je 0x41be42
cmp byte [edi], 0
je 0x41be42
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
add esi, edi
inc dword [ebp + 0x70]
test esi, esi
jne 0x41bde6
jmp 0x41c68b
test edi, edi
je 0x41be58
mov eax, edi
sub eax, esi
jmp 0x41be5f
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
mov ecx, 0xfff
cmp eax, ecx
jle 0x41be6d
mov eax, ecx
jmp 0x41be80
test edi, edi
je 0x41be78
sub edi, esi
inc edi
mov eax, edi
jmp 0x41be80
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push esi
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
jmp 0x41c68b
fld qword [ebp + ebx*8 - 0x10]
call fcn.00448380
movsx eax, al
push eax
push 0x45cf3c
jmp 0x419b5b
shl ebx, 0xc
movsx eax, byte [ebp + ebx + 0x118]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
mov eax, ebx
shl eax, 0xc
lea esi, [ebp + eax + 0x118]
mov dword [ebp + 0x70], esi
add esi, 0xfffff000
cmp byte [esi], 0
mov dword [ebp + 0x80], eax
je 0x41bf7b
lea eax, [ebx - 1]
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
mov dword [ebp + 0x60], eax
cmp eax, edi
je 0x41bf1e
push str.0123456789_.__t_r_n
push esi
call fcn.004481e0
pop ecx
pop ecx
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp edi, eax
sbb eax, eax
inc eax
xor edi, edi
jmp 0x41bf20
xor eax, eax
cmp eax, edi
je 0x41bf6d
mov dword [ebp + 0x68], edi
cmp dword [ebp + 0x60], edi
je 0x41bf6d
mov eax, dword [ebp + 0x68]
lea edi, [eax + esi]
mov al, byte [edi]
test al, al
je 0x41bf6d
cmp al, 0x2c
je 0x41bf41
inc dword [ebp + 0x68]
jmp 0x41bf2c
mov ecx, dword [ebp + 0x68]
mov eax, dword [ebp + 0x80]
add eax, ecx
lea eax, [ebp + eax - 0xee7]
push eax
mov dword [ebp + 0x40], eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [ebp + 0x40]
push edi
call fcn.00446570
add esp, 0xc
jmp 0x41bf2c
cmp byte [esi], 0
je 0x41bf7b
push esi
call fcn.004481cb
pop ecx
jmp 0x41bf7f
fld qword [ebp + ebx*8 - 0x18]
push dword [ebp + 0x70]
lea eax, [ebp + 0x8118]
push ecx
push ecx
fstp qword [esp]
push eax
call fcn.00416d51
add esp, 0x10
jmp 0x41c68b
mov edi, ebx
shl edi, 0xc
lea esi, [ebp + edi + 0x118]
test esi, esi
je 0x41bfcd
lea eax, [ebx - 1]
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
test eax, eax
je 0x41bfcd
lea eax, [esi - 0x1000]
push eax
push esi
call fcn.00445d80
pop ecx
pop ecx
jmp 0x41bfcf
xor eax, eax
test eax, eax
je 0x41c00c
test esi, esi
je 0x41bff7
dec ebx
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
test eax, eax
je 0x41bff7
lea eax, [esi - 0x1000]
push eax
push esi
call fcn.00445d80
pop ecx
pop ecx
jmp 0x41bff9
xor eax, eax
sub eax, edi
lea ecx, [ebp + 0x118]
sub eax, ecx
inc eax
mov dword [ebp + 0x80], eax
jmp 0x41c013
and dword [ebp + 0x80], 0
fild dword [ebp + 0x80]
jmp 0x41c688
shl ebx, 0xc
lea esi, [ebp + ebx + 0x118]
lea edi, [esi - 0x1000]
push edi
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41c05b
push edi
push esi
call fcn.004010ff
pop ecx
pop ecx
xor ecx, ecx
inc ecx
sub ecx, ebx
lea edx, [ebp + 0x118]
sub ecx, edx
add eax, ecx
mov dword [ebp + 0x80], eax
jmp 0x41c062
and dword [ebp + 0x80], 0
fild dword [ebp + 0x80]
jmp 0x41c688
fld qword [ebp + ebx*8 - 0x10]
call fcn.00448380
lea edi, [eax + 1]
test edi, edi
jge 0x41c081
xor eax, eax
jmp 0x41c0a5
mov eax, ebx
shl eax, 0xc
lea esi, [ebp + eax - 0xee8]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
cmp edi, eax
jle 0x41c0a3
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
jmp 0x41c0a5
mov eax, edi
shl ebx, 0xc
push eax
lea eax, [ebp + ebx - 0xee8]
push eax
jmp 0x41be82
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp byte [ebp + 0x8118], 0
je 0x41c109
cmp byte [ebp + 0x8118], 0x20
jne 0x41c109
lea eax, [ebp + 0x8119]
push eax
call esi
inc eax
push eax
lea eax, [ebp + 0x8119]
push eax
lea eax, [ebp + 0x8118]
push eax
call fcn.00446570
add esp, 0xc
jmp 0x41c0d4
lea eax, [ebp + 0x8118]
push eax
call esi
jmp 0x41c12d
lea ecx, [ebp + eax + 0x8118]
mov dl, byte [ecx]
cmp dl, 0x20
je 0x41c12a
test dl, dl
jne 0x41c68b
mov byte [ecx], 0
dec eax
cmp eax, edi
jg 0x41c114
jmp 0x41c68b
shl ebx, 0xc
lea eax, [ebp + ebx + 0x118]
push eax
add eax, 0xfffff000
push eax
call fcn.00406b01
pop ecx
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41c688
shl ebx, 0xc
lea esi, [ebp + ebx + 0x118]
lea eax, [esi - 0x1000]
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp byte [ebp + 0x8118], 0
je 0x41c1de
cmp byte [esi], 0
je 0x41c1de
test esi, esi
je 0x41c1ac
push esi
call edi
push eax
lea eax, [ebp + 0x8118]
push esi
push eax
call fcn.00448060
add esp, 0xc
jmp 0x41c1af
xor eax, eax
inc eax
test eax, eax
jne 0x41c1de
push esi
call edi
lea eax, [ebp + eax + 0x8118]
push eax
call edi
inc eax
push eax
push esi
call edi
lea eax, [ebp + eax + 0x8118]
push eax
lea eax, [ebp + 0x8118]
push eax
call fcn.00446570
add esp, 0xc
jmp 0x41c184
and dword [ebp + 0x48], 0
cmp byte [esi], 0
je 0x41c68b
xor ebx, ebx
mov dword [ebp + 0x4c], ebx
cmp byte [esi], bl
je 0x41c230
mov al, byte [ebp + 0x8118]
test al, al
je 0x41c226
cmp al, byte [esi + ebx]
jne 0x41c226
lea eax, [ebp + 0x8119]
push eax
call edi
inc eax
push eax
lea eax, [ebp + 0x8119]
push eax
lea eax, [ebp + 0x8118]
push eax
call fcn.00446570
add esp, 0xc
jmp 0x41c1f4
inc ebx
cmp byte [esi + ebx], 0
jne 0x41c1f4
mov dword [ebp + 0x4c], ebx
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
cmp byte [esi + eax], 0
jne 0x41c1eb
jmp 0x41c68b
shl ebx, 0xc
lea esi, [ebp + ebx + 0x118]
lea eax, [esi - 0x1000]
push eax
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [ebp + 0x8118], 0
je 0x41c2b6
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp byte [esi], 0
je 0x41c2b6
push esi
call edi
lea ebx, [ebp + 0x8118]
sub ebx, eax
push esi
lea eax, [ebp + 0x8118]
push eax
call edi
add eax, ebx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x41c2b6
push esi
call edi
lea ebx, [ebp + 0x8118]
sub ebx, eax
lea eax, [ebp + 0x8118]
push eax
call edi
mov byte [eax + ebx], 0
cmp byte [ebp + 0x8118], 0
jne 0x41c26e
and dword [ebp + 0x48], 0
cmp byte [esi], 0
je 0x41c68b
xor ebx, ebx
mov dword [ebp + 0x4c], ebx
cmp byte [esi], bl
je 0x41c304
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
dec eax
test eax, eax
jle 0x41c2fa
mov dl, byte [esi + ebx]
lea edi, [ebp + eax + 0x8118]
mov cl, byte [edi]
cmp cl, dl
je 0x41c2f2
test cl, cl
jne 0x41c2fa
dec eax
mov byte [edi], 0
test eax, eax
jg 0x41c2e1
inc ebx
cmp byte [esi + ebx], 0
jne 0x41c2cc
mov dword [ebp + 0x4c], ebx
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
cmp byte [esi + eax], 0
jne 0x41c2c3
jmp 0x41c68b
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, ebx
shl esi, 0xc
lea eax, [ebp + esi - 0xee8]
push eax
call edi
fld qword [ebp + ebx*8 - 0x10]
mov dword [ebp + 0x68], eax
call fcn.00448380
lea ebx, [eax + 1]
mov dword [ebp + 0x80], eax
test ebx, ebx
jge 0x41c347
xor eax, eax
jmp 0x41c382
mov eax, dword [ebp + 0x68]
sub eax, dword [ebp + 0x80]
mov dword [ebp + 0x40], eax
jns 0x41c357
xor eax, eax
add eax, esi
lea eax, [ebp + eax - 0xee8]
push eax
call edi
inc eax
cmp ebx, eax
jle 0x41c380
mov eax, dword [ebp + 0x40]
test eax, eax
jge 0x41c371
xor eax, eax
add eax, esi
lea eax, [ebp + eax - 0xee8]
push eax
call edi
inc eax
jmp 0x41c382
mov eax, ebx
mov ecx, dword [ebp + 0x68]
sub ecx, dword [ebp + 0x80]
jns 0x41c38f
xor ecx, ecx
add esi, ecx
push eax
lea eax, [ebp + esi - 0xee8]
jmp 0x41c0b0
fld qword [ebp + ebx*8 - 0x18]
call fcn.00448380
lea esi, [eax - 1]
cmp esi, edi
jge 0x41c3b3
mov dword [ebp + 0x68], edi
jmp 0x41c3da
lea edi, [ebx - 2]
shl edi, 0xc
lea edi, [ebp + edi + 0x118]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jle 0x41c3d7
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp + 0x68], eax
jmp 0x41c3da
mov dword [ebp + 0x68], esi
fld qword [ebp + ebx*8 - 0x10]
call fcn.00448380
lea edi, [eax + 1]
test edi, edi
jge 0x41c3ee
xor eax, eax
jmp 0x41c416
lea esi, [ebx - 2]
shl esi, 0xc
add esi, dword [ebp + 0x68]
lea esi, [ebp + esi + 0x118]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
cmp edi, eax
jle 0x41c414
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
jmp 0x41c416
mov eax, edi
add ebx, 0xfffffffe
shl ebx, 0xc
add ebx, dword [ebp + 0x68]
push eax
lea eax, [ebp + ebx + 0x118]
jmp 0x41c0b0
mov eax, ebx
shl eax, 0xc
lea ecx, [ebp + eax + 0x118]
cmp byte [ecx], 0
jne 0x41c499
mov eax, dword [ebp + 0x6c]
dec eax
cmp eax, edi
jge 0x41c447
xor eax, eax
imul eax, eax, 0x18
cmp byte [ebp + eax - 0xdb8], 0x20
je 0x41c499
fld qword [ebp + ebx*8 - 0x10]
push 0xf
push ecx
push ecx
lea eax, [ebp + 0x8118]
fstp qword [esp]
push eax
call fcn.00416b8a
lea eax, [ebp + 0x8118]
push edi
push eax
call fcn.0041497f
add esp, 0x18
lea eax, [ebp + 0x8118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41b5de
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41c688
mov eax, ebx
shl eax, 0xc
lea edi, [ebp + eax - 0xee8]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
and dword [ebp + 0x68], 0
lea esi, [ebp + ebx*8 - 0x10]
fld qword [esi]
mov dword [ebp + 0x4c], eax
fcomp qword [0x45b048]
fnstsw ax
test ah, 0x41
jne 0x41c68b
mov eax, dword [ebp + 0x4c]
lea ebx, [ebp + 0x8118]
mov ecx, ebx
sub eax, ecx
mov dword [ebp + 0x80], eax
mov eax, dword [ebp + 0x80]
add eax, ebx
cmp eax, 0x1000
jge 0x41c68b
mov eax, dword [ebp + 0x4c]
inc eax
push eax
push edi
push ebx
call fcn.00445ea0
add ebx, dword [ebp + 0x4c]
add esp, 0xc
inc dword [ebp + 0x68]
fild dword [ebp + 0x68]
fcomp qword [esi]
fnstsw ax
test ah, 5
jnp 0x41c4f5
jmp 0x41c68b
mov edi, dword [ebp + 0x64]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
shl edi, 0xc
lea edi, [ebp + edi + 0x118]
push edi
call ebx
mov dword [ebp + 0x48], eax
mov eax, dword [ebp + 0x64]
add eax, 0xfffffffe
shl eax, 0xc
lea esi, [edi - 0x1000]
lea eax, [ebp + eax + 0x118]
push esi
push eax
mov dword [ebp + 0x80], eax
call fcn.00406b01
imul eax, dword [ebp + 0x48]
pop ecx
cmp eax, 0x1000
pop ecx
lea eax, [ebp + 0x8118]
jle 0x41c587
push str.Expression_too_big
jmp 0x41ac79
push dword [ebp + 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push esi
call ebx
cmp byte [ebp + 0x7f], 0x59
push edi
jne 0x41c624
mov dword [ebp + 0x80], eax
call ebx
mov dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x64]
dec eax
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
mov dword [ebp + 0x60], eax
test eax, eax
je 0x41c61c
push esi
lea eax, [ebp + 0x8118]
push eax
jmp 0x41c611
mov eax, dword [ebp + 0x80]
mov ecx, dword [ebp + 0x40]
add eax, esi
push eax
lea ebx, [esi + ecx]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
mov eax, dword [ebp + 0x80]
add eax, esi
push eax
push ebx
call fcn.00446570
push dword [ebp + 0x40]
push edi
push esi
call fcn.00445ea0
add esp, 0x18
test ebx, ebx
je 0x41c61c
cmp dword [ebp + 0x60], 0
je 0x41c61c
lea eax, [edi - 0x1000]
push eax
push ebx
call fcn.00445d80
pop ecx
pop ecx
mov esi, eax
jmp 0x41c61e
xor esi, esi
test esi, esi
jne 0x41c5cc
jmp 0x41c68b
mov dword [ebp + 0x40], eax
call ebx
mov dword [ebp + 0x80], eax
lea eax, [ebp + 0x8118]
push esi
push eax
call fcn.004010ff
pop ecx
pop ecx
jmp 0x41c67c
mov eax, dword [ebp + 0x40]
lea ebx, [esi + eax]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
mov eax, dword [ebp + 0x80]
push ebx
lea ebx, [esi + eax]
push ebx
call fcn.00446570
push dword [ebp + 0x80]
push edi
push esi
call fcn.00445ea0
lea eax, [edi - 0x1000]
push eax
push ebx
call fcn.004010ff
add esp, 0x20
mov esi, eax
test esi, esi
jne 0x41c640
jmp 0x41c68b
fld qword [ebp + ebx*8 - 0x10]
fstp qword [ebp + 0x74]
cmp dword [ebp + 0x44], 0
mov esi, dword [ebp + 0x64]
jle 0x41c6bc
mov eax, esi
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
test esi, esi
jl 0x41c6bc
fldz
dec dword [ebp + 0x44]
fstp qword [ebp + esi*8 - 0x10]
mov byte [eax], 0
dec esi
sub eax, 0x1000
cmp dword [ebp + 0x44], 0
jg 0x41c6a0
fld qword [ebp + 0x74]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp + 0x8118]
fstp qword [ebp + esi*8 - 8]
inc esi
push eax
call edi
mov ecx, eax
inc ecx
mov eax, 0xfff
cmp ecx, eax
jg 0x41c6e9
lea eax, [ebp + 0x8118]
push eax
call edi
inc eax
push eax
lea eax, [ebp + 0x8118]
push eax
mov eax, esi
shl eax, 0xc
lea eax, [ebp + eax + 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
inc esi
mov dword [ebp + 0x64], esi
mov ebx, dword [ebp + 0x64]
mov esi, 0x76c
inc dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x6c]
imul ecx, ecx, 0x18
lea eax, [ebp + ecx - 0xdb8]
cmp byte [eax], 0
mov dword [ebp + 0x80], ecx
jne 0x4196a8
jmp 0x41c7c0
mov eax, dword [ebp + 0x6c]
xor ebx, ebx
imul eax, eax, 0x18
mov al, byte [ebp + eax - 0xdb8]
mov esi, 0x45d4fc
mov byte [ebp + 0x7f], al
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov al, byte [eax + esi - 1]
cmp al, byte [ebp + 0x7f]
je 0x41c768
mov esi, dword [ebp + ebx*4 - 0x1b4]
inc ebx
cmp byte [esi], 0
jne 0x41c74b
mov esi, dword [ebp + ebx*4 - 0x1b8]
cmp byte [esi], 0
je 0x41c78c
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push esi
lea eax, [ebp + 0xa138]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
jmp 0x41c795
mov al, byte [ebp + 0x7f]
mov byte [ebp + 0xa138], al
cmp byte [ebp + 0xa138], 0
lea eax, [ebp + 0xa138]
jne 0x41c7a9
mov eax, 0x4597fe
push edi
push eax
lea eax, [ebp + 0x118]
push 0x45cee8
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
cmp dword [ebp + 0x34], 0
je 0x41c7fd
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp + 0x118]
push eax
call esi
mov ecx, eax
mov eax, dword [ebp + 0xa16c]
inc ecx
cmp eax, ecx
jb 0x41c7ec
lea eax, [ebp + 0x118]
push eax
call esi
inc eax
push eax
lea eax, [ebp + 0x118]
push eax
push dword [ebp + 0x34]
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push dword [ebp + 0x30]
call fcn.00445e06
fld qword [ebp - 0x10]
pop ecx
jmp 0x418f8d