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

Disassembly:
push ebp
lea ebp, [esp - 0xbdb4]
mov eax, 0xbf24
call fcn.004550e0
mov eax, dword [0x47e5d0]
xor eax, ebp
mov dword [ebp + 0xbdb0], eax
mov eax, dword [ebp + 0xbdc0]
push ebx
push esi
mov esi, dword [ebp + 0xbdbc]
push edi
mov dword [ebp + 0x30], eax
push 7
xor ebx, ebx
pop ecx
xor eax, eax
mov byte [ebp + 0xbd70], bl
lea edi, [ebp + 0xbd71]
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.00452e00
xor eax, eax
push 7
pop ecx
mov byte [ebp + 0xbd90], bl
lea edi, [ebp + 0xbd91]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov dword [ebp + 0x4c], ebx
lea edi, [ebp + 0x50]
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 + 0x9d71]
push ebx
push eax
mov dword [ebp + 0x68], ebx
mov byte [ebp + 0x9d70], bl
call fcn.00452e00
push 0x8fff
lea eax, [ebp + 0xd71]
push ebx
push eax
mov byte [ebp + 0xd70], bl
call fcn.00452e00
fldz
push 0x40
lea eax, [ebp + 0xd30]
fstp qword [ebp + 0xd28]
push ebx
push eax
call fcn.00452e00
push 0xbf8
lea eax, [ebp + 0x130]
push ebx
push eax
mov byte [ebp + 0x128], bl
call fcn.00452e00
xor eax, eax
mov word [ebp + 0x118], ax
lea edi, [ebp + 0x11a]
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 + 0x2c]
mov dword [ebp + 0x28], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x170], 0x468d04
mov dword [ebp - 0x16c], 0x468d00
mov dword [ebp - 0x168], 0x468cfc
mov dword [ebp - 0x164], 0x468cf8
mov dword [ebp - 0x160], 0x468cf4
mov dword [ebp - 0x15c], 0x468cf0
mov dword [ebp - 0x158], 0x468cec
mov dword [ebp - 0x154], 0x468ce8
mov dword [ebp - 0x150], 0x468ce4
mov dword [ebp - 0x14c], str.RANDBETWEEN
mov dword [ebp - 0x148], 0x468cd0
mov dword [ebp - 0x144], str.NOWn
mov dword [ebp - 0x140], str.TODAYa
mov dword [ebp - 0x13c], str.RANDZ
mov dword [ebp - 0x138], str.GETTICKCOUNT
mov dword [ebp - 0x134], str.TOPWINDOW
mov dword [ebp - 0x130], str.ABSA
mov dword [ebp - 0x12c], str.CEILINGC
mov dword [ebp - 0x128], str.CEILC
mov dword [ebp - 0x124], str.FLOORF
mov dword [ebp - 0x120], str.INTi
mov dword [ebp - 0x11c], str.SQRTS
mov dword [ebp - 0x118], str.SQRS
mov dword [ebp - 0x114], str.SINI
mov dword [ebp - 0x110], str.COSO
mov dword [ebp - 0x10c], str.ATANB
mov dword [ebp - 0x108], str.TANG
mov dword [ebp - 0x104], str.DECIMALJ
mov dword [ebp - 0x100], str.LENL
mov dword [ebp - 0xfc], str.CHARH
mov dword [ebp - 0xf8], str.CHRH
mov dword [ebp - 0xf4], str.CODEK
mov dword [ebp - 0xf0], str.ASCK
mov dword [ebp - 0xec], str.TRIMx
mov dword [ebp - 0xe8], str.TRIMWHITE
mov dword [ebp - 0xe4], 0x468bf0
mov dword [ebp - 0xe0], str.ISKEYPRESSED
mov dword [ebp - 0xdc], str.LOG10
mov dword [ebp - 0xd8], 0x468bd0
mov dword [ebp - 0xd4], str.ISWINDOW
mov dword [ebp - 0xd0], str.FINDWINDOW
mov dword [ebp - 0xcc], str.SETFOCUS
mov dword [ebp - 0xc8], str.CLOSEWINDOW
mov dword [ebp - 0xc4], str.VALUEV
mov dword [ebp - 0xc0], str.UPPERu
mov dword [ebp - 0xbc], str.LOWERw
mov dword [ebp - 0xb8], str.PROPER
mov dword [ebp - 0xb4], str.YEARg
mov dword [ebp - 0xb0], str.DAYOFYEAR
mov dword [ebp - 0xac], str.DAYSINYEAR
mov dword [ebp - 0xa8], str.MONTHLEN
mov dword [ebp - 0xa4], str.DAYSINMONTH
mov dword [ebp - 0xa0], str.MONTHm
mov dword [ebp - 0x9c], str.DAYd
mov dword [ebp - 0x98], str.DATEVALUEv
mov dword [ebp - 0x94], str.TIMEVALUEj
mov dword [ebp - 0x90], str.WEEKDAYk
mov dword [ebp - 0x8c], str.HOURh
mov dword [ebp - 0x88], str.MINUTEe
mov dword [ebp - 0x84], str.SECONDo
mov dword [ebp - 0x80], str.NUM2WORDS
mov dword [ebp - 0x7c], str.STRREV
mov dword [ebp - 0x78], str.DEC2HEX
mov dword [ebp - 0x74], str.HEX2DEC
mov dword [ebp - 0x70], str.ISODD
mov dword [ebp - 0x6c], str.FILEEXIST
mov dword [ebp - 0x68], str.FOLDEREXIST
mov dword [ebp - 0x64], str.FILESIZE
mov dword [ebp - 0x60], str.FILENAMECLEAN
mov dword [ebp - 0x5c], 0x468a80
mov dword [ebp - 0x58], str.TYPE
mov dword [ebp - 0x54], str.TEXTT
mov dword [ebp - 0x50], str.MAXX
mov dword [ebp - 0x4c], str.MINN
mov dword [ebp - 0x48], str.QUOTIENTQ
mov dword [ebp - 0x44], str.ROUNDR
mov dword [ebp - 0x40], str.TRUNCU
mov dword [ebp - 0x3c], 0x468a3c
mov dword [ebp - 0x38], 0x468a34
mov dword [ebp - 0x34], str.LTRIMb
mov dword [ebp - 0x30], str.RTRIMc
mov dword [ebp - 0x2c], 0x468a1c
mov dword [ebp - 0x28], str.GETPIXEL
mov dword [ebp - 0x24], str.MSGBOX
mov dword [ebp - 0x20], str.LEFTl
mov dword [ebp - 0x1c], str.RIGHTr
mov eax, 0x464a50
mov dword [ebp - 0x18], str.FINDf
mov dword [ebp - 0x14], str.SEARCHs
mov dword [ebp - 0x10], str.REPTq
mov dword [ebp - 0xc], str.COUNTIFW
mov dword [ebp - 8], 0x4689cc
mov dword [ebp - 4], str.MIDM
mov dword [ebp], str.SUBSTITUTEIy
mov dword [ebp + 4], str.SUBSTITUTEY
mov dword [ebp + 8], 0x4689a4
mov dword [ebp + 0xc], str.DATED
mov dword [ebp + 0x10], str.TIMEt
mov dword [ebp + 0x14], 0x46898c
mov dword [ebp + 0x18], str.CHOOSEz
mov dword [ebp + 0x1c], 0x468978
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], eax
cmp esi, ebx
je 0x41e961
cmp byte [esi], bl
je 0x41e961
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
push esi
call ebx
mov edi, eax
mov eax, dword [ebp + 0x30]
mov dword [ebp + 0x80], edi
test eax, eax
je 0x41e92c
mov byte [eax], 0
push 0x468968
push esi
call fcn.00454980
pop ecx
pop ecx
test eax, eax
jne 0x41e97b
cmp dword [ebp + 0x30], eax
je 0x41e961
push esi
call ebx
lea ecx, [eax + 1]
mov eax, dword [ebp + 0xbdc4]
cmp eax, ecx
jb 0x41e956
push esi
call ebx
inc eax
push eax
push esi
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
fldz
mov ecx, dword [ebp + 0xbdb0]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00452dee
add ebp, 0xbdb4
leave
ret
lea ecx, [edi + 0x1000]
mov eax, 0x1000
cmp ecx, eax
jle 0x41e98c
mov eax, ecx
push 1
push eax
call fcn.00452b24
mov edi, eax
pop ecx
pop ecx
mov dword [ebp + 0x44], edi
test edi, edi
je 0x41e961
push esi
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push edi
call fcn.004199bd
cmp byte [edi], 0
pop ecx
mov esi, edi
je 0x41ead7
mov al, byte [esi]
cmp al, 0x22
je 0x41e9c7
cmp al, 0x27
je 0x41e9c7
cmp al, 2
jne 0x41e9d2
cmp byte [ebp + 0x7f], 0
jne 0x41e9d8
mov byte [ebp + 0x7f], al
jmp 0x41e9e1
cmp byte [ebp + 0x7f], 0
je 0x41e9e1
cmp al, byte [ebp + 0x7f]
jne 0x41e9e1
mov byte [ebp + 0x7f], 0
and dword [ebp + 0x70], 0
cmp byte [ebp + 0x7f], 0
jne 0x41eaca
mov eax, dword [ebp + 0x70]
mov eax, dword [ebp + eax*4 - 0x170]
mov al, byte [eax]
test al, al
je 0x41eaca
cmp al, 0x2d
jne 0x41ea1b
cmp byte [esi], al
jne 0x41ea1b
cmp byte [esi + 1], al
jne 0x41ea1b
mov al, byte [esi + 2]
cmp al, 0x30
jl 0x41ea1b
cmp al, 0x39
jle 0x41ea87
mov eax, dword [ebp + 0x70]
push dword [ebp + eax*4 - 0x170]
call ebx
mov edi, eax
mov eax, dword [ebp + 0x70]
cmp dword [ebp + eax*4 - 0x170], 0
je 0x41ea4f
lea eax, [edi - 1]
push eax
mov eax, dword [ebp + 0x70]
push dword [ebp + eax*4 - 0x170]
push esi
call fcn.00452ccd
add esp, 0xc
jmp 0x41ea52
xor eax, eax
inc eax
test eax, eax
jne 0x41ea87
mov eax, dword [ebp + 0x70]
mov eax, dword [ebp + eax*4 - 0x170]
mov al, byte [eax + edi - 1]
cmp al, 0x41
jl 0x41ea6c
cmp al, 0x5a
jle 0x41ea80
cmp al, 0x61
jl 0x41ea74
cmp al, 0x7a
jle 0x41ea80
cmp al, 0x3f
je 0x41ea80
cmp al, 0x82
jb 0x41ea8f
cmp al, 0xfd
ja 0x41ea8f
cmp byte [edi + esi - 1], 0x28
je 0x41ea8f
inc dword [ebp + 0x70]
jmp 0x41e9ef
lea eax, [edi + esi - 2]
test eax, eax
je 0x41eaba
lea eax, [edi + esi - 2]
push eax
call ebx
inc eax
test eax, eax
jle 0x41eaba
lea eax, [edi + esi - 2]
push eax
call ebx
inc eax
push eax
lea eax, [edi + esi - 2]
push eax
push esi
call fcn.00452ea0
add esp, 0xc
mov eax, dword [ebp + 0x70]
mov eax, dword [ebp + eax*4 - 0x170]
mov al, byte [eax + edi - 1]
mov byte [esi], al
inc esi
cmp byte [esi], 0
jne 0x41e9b9
mov edi, dword [ebp + 0x44]
mov esi, dword [ebp + 0x44]
cmp byte [esi], 0
je 0x41eb95
mov al, byte [edi]
cmp al, 0x20
je 0x41eb4d
cmp al, 9
je 0x41eb4d
cmp al, 0xd
je 0x41eb4d
cmp al, 0xa
je 0x41eb4d
cmp al, 0x5f
je 0x41eb4d
cmp al, 0x22
je 0x41eb05
cmp al, 0x27
je 0x41eb05
cmp al, 2
jne 0x41eb10
cmp byte [ebp + 0x7f], 0
jne 0x41eb10
mov byte [ebp + 0x7f], al
jmp 0x41eb68
cmp al, 0x41
jl 0x41eb18
cmp al, 0x5a
jle 0x41eb20
cmp al, 0x61
jl 0x41eb32
cmp al, 0x7a
jg 0x41eb32
cmp byte [edi + 1], 0x28
je 0x41eb32
cmp byte [ebp + 0x7f], 0
jne 0x41eb38
mov byte [ebp + 0x7f], 0x2c
jmp 0x41eb68
cmp byte [ebp + 0x7f], 0
je 0x41eb68
cmp al, byte [ebp + 0x7f]
je 0x41eb47
cmp byte [ebp + 0x7f], 0x2c
jne 0x41eb68
cmp al, 0x29
jne 0x41eb68
mov byte [ebp + 0x7f], 0
jmp 0x41eb68
cmp byte [ebp + 0x7f], 0
je 0x41eb6b
cmp byte [ebp + 0x7f], 0x2c
jne 0x41eb68
mov al, byte [edi + 1]
cmp al, 0x20
je 0x41eb6b
cmp al, 0x2c
je 0x41eb6b
cmp al, 0x29
je 0x41eb6b
inc edi
jmp 0x41eb89
lea esi, [edi + 1]
test esi, esi
je 0x41eb89
push esi
call ebx
inc eax
test eax, eax
jle 0x41eb89
push esi
call ebx
inc eax
push eax
push esi
push edi
call fcn.00452ea0
add esp, 0xc
cmp byte [edi], 0
jne 0x41eae3
mov esi, dword [ebp + 0x44]
cmp byte [esi], 0x3d
jne 0x41ebb6
inc esi
je 0x41ebb6
push esi
call ebx
inc eax
test eax, eax
jle 0x41ebb6
push esi
call ebx
inc eax
push eax
push esi
push dword [ebp + 0x44]
call fcn.00452ea0
add esp, 0xc
push dword [ebp + 0x44]
call ebx
mov esi, dword [ebp + 0x44]
cmp byte [eax + esi - 1], 0x3b
jne 0x41ebcd
push esi
call ebx
mov byte [eax + esi - 1], 0
mov edi, 0x468964
push edi
call ebx
push 0x464a50
mov dword [ebp + 0x48], eax
call ebx
push edi
push dword [ebp + 0x44]
mov dword [ebp + 0x6c], eax
call fcn.004526d0
pop ecx
pop ecx
mov esi, eax
jmp 0x41ec2c
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x6c]
add eax, esi
push eax
lea ebx, [esi + ecx]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
mov eax, dword [ebp + 0x48]
add eax, esi
push eax
push ebx
call fcn.00452ea0
push dword [ebp + 0x6c]
push 0x464a50
push esi
call fcn.00452790
add esp, 0x18
test ebx, ebx
je 0x41ec2a
push edi
push ebx
jmp 0x41ebe6
xor esi, esi
test esi, esi
jne 0x41ebf1
mov edi, dword [ebp + 0x44]
xor eax, eax
xor dl, dl
cmp byte [edi], al
je 0x41ecae
cmp eax, dword [ebp + 0x80]
jge 0x41ecae
mov cl, byte [eax + edi]
test dl, dl
jne 0x41ec5d
cmp cl, 0x22
je 0x41ec59
cmp cl, 0x27
je 0x41ec59
cmp cl, 2
jne 0x41ec67
mov dl, cl
jmp 0x41ec63
cmp cl, dl
jne 0x41ec63
xor dl, dl
test dl, dl
jne 0x41eca7
cmp cl, 0x2d
jne 0x41ec79
cmp byte [eax + edi + 1], cl
jne 0x41ec79
mov byte [eax + edi + 1], 0x5f
jmp 0x41eca7
test dl, dl
jne 0x41eca7
cmp cl, 0x2d
jne 0x41eca7
test eax, eax
je 0x41eca3
mov cl, byte [edi + eax - 1]
cmp cl, 0x30
jl 0x41ec94
cmp cl, 0x39
jle 0x41eca7
cmp cl, 0x2e
je 0x41eca7
cmp cl, 0x29
je 0x41eca7
cmp cl, 0x23
je 0x41eca7
mov byte [eax + edi], 0x5f
inc eax
cmp byte [eax + edi], 0
jne 0x41ec3b
push 0x466538
push edi
call fcn.00454a80
pop ecx
pop ecx
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jl 0x41ece1
push edi
call fcn.00454966
pop ecx
push edi
fstp qword [ebp + 0x74]
call fcn.00452756
fld qword [ebp + 0x74]
pop ecx
jmp 0x41e963
xor ebx, ebx
mov dword [ebp + 0x64], ebx
mov al, byte [edi]
test al, al
je 0x41f057
cmp dword [ebp + 0x68], 0x80
jge 0x41f057
cmp al, 0x41
jl 0x41ed05
cmp al, 0x5a
jle 0x41ed29
cmp al, 0x61
jl 0x41ed0d
cmp al, 0x7a
jle 0x41ed29
cmp al, 0x30
jl 0x41ed15
cmp al, 0x39
jle 0x41ed29
cmp al, 0x2e
je 0x41ed29
cmp al, 0x22
je 0x41ed29
cmp al, 0x27
je 0x41ed29
cmp al, 2
jne 0x41eed0
lea ecx, [edi + 1]
cmp byte [ecx], 0x28
mov dword [ebp + 0x80], ecx
je 0x41eed0
xor ecx, ecx
mov al, byte [ecx + edi]
test al, al
je 0x41ed85
cmp al, 0x41
jl 0x41ed4c
cmp al, 0x5a
jle 0x41ed7c
cmp al, 0x61
jl 0x41ed54
cmp al, 0x7a
jle 0x41ed7c
cmp al, 0x30
jl 0x41ed5c
cmp al, 0x39
jle 0x41ed7c
cmp al, 0x2e
je 0x41ed7c
cmp al, 0x22
je 0x41ed7c
cmp al, 0x27
je 0x41ed7c
cmp al, 2
je 0x41ed7c
cmp al, 0x20
je 0x41ed7c
cmp al, 9
je 0x41ed7c
cmp al, 0xd
je 0x41ed7c
cmp al, 0xa
jne 0x41ed85
inc ecx
cmp ecx, 0x1000
jl 0x41ed3d
lea eax, [ecx + 1]
mov ecx, 0x1ffe
cmp eax, ecx
jle 0x41ed93
mov eax, ecx
push eax
push edi
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea eax, [ebp + 0x9d70]
push str.0123456789.__t_r_n
push eax
mov byte [ebp + 0x7f], 0
xor esi, esi
call fcn.00454a80
pop ecx
mov ebx, eax
pop ecx
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp ebx, eax
jb 0x41ee2b
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 0x20
jge 0x41ee2b
mov al, byte [edi]
cmp al, 0x30
jl 0x41edea
cmp al, 0x39
jle 0x41edee
cmp al, 0x2e
jne 0x41edfe
cmp esi, 0x20
jge 0x41edfe
mov byte [ebp + esi + 0xbd70], al
inc esi
inc edi
jmp 0x41ede0
mov byte [ebp + esi + 0xbd70], 0
mov esi, dword [ebp + 0x68]
lea eax, [ebp + 0xbd70]
imul esi, esi, 0x18
push eax
call fcn.00454966
mov al, byte [ebp + 0xbd70]
pop ecx
mov byte [ebp + esi + 0x128], al
jmp 0x41eebe
mov al, byte [edi]
cmp al, 0x22
je 0x41ee39
cmp al, 0x27
je 0x41ee39
cmp al, 2
jne 0x41ee42
mov edi, dword [ebp + 0x80]
mov byte [ebp + 0x7f], al
mov esi, dword [ebp + 0x68]
imul esi, esi, 0x18
cmp byte [ebp + 0x7f], 0
mov dword [ebp + esi + 0x138], edi
je 0x41ee7c
movsx ebx, byte [ebp + 0x7f]
push ebx
push edi
call fcn.00452d30
pop ecx
pop ecx
test eax, eax
je 0x41ee73
push ebx
push edi
call fcn.00452d30
pop ecx
pop ecx
sub eax, edi
jmp 0x41ee94
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
jmp 0x41ee94
mov cl, byte [edi]
xor eax, eax
jmp 0x41ee90
cmp cl, 0x2c
je 0x41ee94
cmp cl, 0x29
je 0x41ee94
inc eax
mov cl, byte [eax + edi]
test cl, cl
jne 0x41ee82
mov dword [ebp + esi + 0x13c], eax
cmp eax, 0x1000
jae 0x41f0d9
mov cl, byte [ebp + 0x7f]
fldz
add edi, eax
xor eax, eax
cmp byte [edi], cl
mov byte [ebp + esi + 0x128], 0x20
sete al
add edi, eax
inc dword [ebp + 0x68]
fstp qword [ebp + esi + 0x130]
mov ebx, dword [ebp + 0x64]
jmp 0x41f04f
cmp al, 0x2c
jne 0x41ef18
test ebx, ebx
jle 0x41f047
mov ecx, dword [ebp + 0x68]
imul ecx, ecx, 0x18
lea ecx, [ebp + ecx + 0x128]
cmp byte [ebp + ebx + 0x97], 0x28
je 0x41f045
dec ebx
inc dword [ebp + 0x68]
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 0x41eee9
jmp 0x41f045
movsx eax, al
push eax
push str.__________:
call fcn.00452d30
pop ecx
pop ecx
test eax, eax
jne 0x41ef94
mov al, byte [edi]
cmp al, 0x28
je 0x41ef94
cmp al, 0x29
jne 0x41f045
dec ebx
mov dword [ebp + 0x64], ebx
js 0x41f049
mov edx, dword [ebp + 0x68]
imul edx, edx, 0x18
lea edx, [ebp + edx + 0x128]
lea eax, [ebp + ebx + 0x98]
mov cl, byte [eax]
test cl, cl
je 0x41ef74
cmp cl, 0x28
je 0x41ef74
inc dword [ebp + 0x68]
mov byte [edx], cl
add edx, 0x18
dec ebx
mov byte [eax], 0
mov dword [ebp + 0x64], ebx
jns 0x41ef51
test ebx, ebx
js 0x41f049
lea eax, [ebp + ebx + 0x98]
cmp byte [eax], 0x28
jne 0x41f045
mov byte [eax], 0
jmp 0x41f045
test ebx, ebx
je 0x41f02d
mov cl, byte [edi]
cmp cl, 0x28
je 0x41f02d
test ebx, ebx
jle 0x41f024
mov esi, dword [ebp + 0x68]
imul esi, esi, 0x18
lea esi, [ebp + esi + 0x128]
cmp cl, 0x5e
je 0x41efee
cmp cl, 0x25
je 0x41efee
cmp cl, 0x21
je 0x41efe4
movzx eax, byte [ebp + ebx + 0x97]
push eax
call fcn.0041991a
push ecx
mov edx, eax
call fcn.0041991a
add esp, 8
cmp eax, edx
jle 0x41f00b
cmp cl, 0x25
je 0x41efee
cmp cl, 0x21
jne 0x41f024
movzx eax, byte [ebp + ebx + 0x97]
push eax
call fcn.0041991a
push ecx
mov edx, eax
call fcn.0041991a
add esp, 8
cmp eax, edx
jge 0x41f024
dec ebx
inc dword [ebp + 0x68]
lea eax, [ebp + ebx + 0x98]
mov dl, byte [eax]
mov byte [esi], dl
add esi, 0x18
mov byte [eax], 0
test ebx, ebx
jg 0x41efb8
mov byte [ebp + ebx + 0x98], cl
jmp 0x41f036
mov al, byte [edi]
mov byte [ebp + ebx + 0x98], al
lea eax, [ebx + 1]
push 0x3f
pop ebx
cmp eax, ebx
jg 0x41f04b
mov ebx, eax
mov dword [ebp + 0x64], ebx
test ebx, ebx
jns 0x41f04e
xor ebx, ebx
mov dword [ebp + 0x64], ebx
inc edi
test edi, edi
jne 0x41ece6
dec ebx
js 0x41f086
mov ecx, dword [ebp + 0x68]
imul ecx, ecx, 0x18
lea ecx, [ebp + ecx + 0x128]
mov al, byte [ebp + ebx + 0x98]
test al, al
je 0x41f086
cmp dword [ebp + 0x68], 0x80
jge 0x41f086
inc dword [ebp + 0x68]
mov byte [ecx], al
add ecx, 0x18
dec ebx
jns 0x41f067
xor ebx, ebx
mov dword [ebp + 0x68], ebx
cmp byte [ebp + 0x128], bl
je 0x4223fa
mov esi, 0x76c
mov ecx, dword [ebp + 0x68]
imul ecx, ecx, 0x18
mov al, byte [ebp + ecx + 0x128]
mov dword [ebp + 0x80], ecx
mov byte [ebp + 0x7f], al
cmp al, 0x30
jl 0x41f0ba
cmp al, 0x39
jle 0x41f0be
cmp al, 0x2e
jne 0x41f0f7
cmp ebx, 9
jge 0x41f0f7
fld qword [ebp + ecx + 0x130]
mov eax, ebx
shl eax, 0xc
mov byte [ebp + eax + 0xd70], 0
jmp 0x41f130
cmp dword [ebp + 0x30], 0
je 0x41f0ed
push str.Parameter_too_big
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
fldz
mov edi, dword [ebp + 0x44]
jmp 0x41eccf
cmp al, 0x20
jne 0x41f13d
cmp ebx, 9
jge 0x41f13d
mov eax, dword [ebp + ecx + 0x13c]
inc eax
mov edx, 0xfff
cmp eax, edx
jbe 0x41f113
mov eax, edx
push eax
push dword [ebp + ecx + 0x138]
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
fldz
fstp qword [ebp + ebx*8 + 0xd28]
inc ebx
jmp 0x41fdd2
movsx edi, al
push edi
push str.__________:
mov dword [ebp + 0x48], edi
call fcn.00452d30
pop ecx
pop ecx
test eax, eax
je 0x41fdd2
push edi
push str._______:
call fcn.00452d30
pop ecx
pop ecx
test eax, eax
je 0x41f16e
push 2
pop edi
jmp 0x41f1ae
push edi
push 0x4688a0
call fcn.00452d30
pop ecx
pop ecx
test eax, eax
je 0x41f183
push 3
jmp 0x41f16b
push edi
push 0x46889c
call fcn.00452d30
pop ecx
pop ecx
test eax, eax
je 0x41f198
push 4
jmp 0x41f16b
push dword [ebp + 0x48]
push 0x468894
call fcn.00452d30
mov edi, eax
neg edi
pop ecx
sbb edi, edi
pop ecx
inc edi
mov dword [ebp + 0x3c], edi
cmp ebx, edi
jl 0x42235a
fldz
push 0x2000
xor edi, edi
fstp qword [ebp + 0x74]
lea eax, [ebp + 0x9d70]
push edi
dec ebx
push eax
mov dword [ebp + 0x64], ebx
call fcn.00452e00
mov eax, dword [ebp + 0x48]
add esp, 0xc
cmp eax, 0x44
jg 0x420f96
je 0x420f56
cmp eax, 0xffffffef
jg 0x41fce7
je 0x41fcca
cmp eax, 0xffffffe1
jg 0x41f521
je 0x41f4f4
cmp eax, 0xffffffba
jg 0x41f3b3
je 0x420901
cmp eax, 0xffffff83
je 0x41f39c
cmp eax, 0xffffffa1
je 0x41f365
cmp eax, 0xffffffa2
je 0x41f2d1
cmp eax, 0xffffffa3
je 0x4201d5
cmp eax, 0xffffffa5
je 0x41f26f
cmp eax, 0xffffffaa
jne case.0x420fa2.91
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
test eax, eax
jns 0x41fd42
fadd qword [0x466a30]
jmp 0x41fd42
push edi
call dword [sym.imp.USER32.dll_GetDC]
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx]
mov esi, eax
call fcn.00454810
fld qword [ebx - 8]
push eax
call fcn.00454810
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 + 0x9d70]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x41fd45
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov al, byte [ebp + 0x9d70]
test al, al
je 0x41f32c
cmp al, 0x20
je 0x41f309
cmp al, 0xd
je 0x41f309
cmp al, 0xa
je 0x41f309
cmp al, 9
jne 0x41f32c
lea eax, [ebp + 0x9d71]
push eax
call esi
inc eax
push eax
lea eax, [ebp + 0x9d71]
push eax
lea eax, [ebp + 0x9d70]
push eax
call fcn.00452ea0
add esp, 0xc
jmp 0x41f2ef
lea eax, [ebp + 0x9d70]
push eax
call esi
jmp 0x41f35b
lea ecx, [ebp + eax + 0x9d70]
mov dl, byte [ecx]
cmp dl, 0x20
je 0x41f358
cmp dl, 0xd
je 0x41f358
cmp dl, 0xa
je 0x41f358
cmp dl, 9
jne 0x41fd45
mov byte [ecx], 0
dec eax
cmp eax, edi
jg 0x41f337
jmp 0x41fd45
mov eax, ebx
shl eax, 0xc
cmp byte [ebp + eax + 0xd70], 0
jne 0x41f38d
fld qword [ebp + ebx*8 + 0xd28]
mov dword [ebp + 0x48], 1
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x41f394
mov dword [ebp + 0x48], 2
fild dword [ebp + 0x48]
jmp 0x41fd42
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41f25c
cmp eax, 0xffffffbc
je 0x41f4c4
cmp eax, 0xffffffbd
je 0x41f494
cmp eax, 0xffffffbf
je 0x41f441
cmp eax, 0xffffffc6
je 0x41f41f
cmp eax, 0xffffffc7
je 0x41f407
cmp eax, 0xffffffe0
jne case.0x420fa2.91
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0x9d70]
push eax
call fcn.00456280
pop ecx
jmp 0x41fd45
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.004556f0
pop ecx
pop ecx
jmp 0x41fd42
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
call fcn.0041981e
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454810
cmp eax, 0x14
je 0x41f47f
cmp eax, 0x90
je 0x41f47f
cmp eax, 0x91
je 0x41f47f
cmp eax, 1
je 0x41f476
cmp eax, 2
je 0x41f476
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
jmp 0x41f486
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
jmp 0x41f471
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
and eax, 1
mov dword [ebp + 0x6c], eax
fild dword [ebp + 0x6c]
jmp 0x41fd42
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
call fcn.00454810
fld qword [esi - 8]
push eax
call fcn.00454810
push eax
call fcn.0041a424
pop ecx
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41fd42
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
call fcn.00454810
fld qword [esi - 8]
push eax
call fcn.00454810
push eax
call fcn.0041a440
pop ecx
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454846
cmp eax, edi
je 0x41f516
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp + 0x48], 1
test eax, eax
jne 0x41f519
mov dword [ebp + 0x48], edi
fild dword [ebp + 0x48]
jmp 0x41fd42
add eax, 0x1e
cmp eax, 0xc
ja case.0x420fa2.91
jmp dword [eax*4 + 0x422484]
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454846
push eax
push 0x468880
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x41fd45
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
call fcn.0041a0c4
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41f25c
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454810
cmp eax, 0x3c
jne 0x41f5a5
mov ecx, esi
push 2
pop esi
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x54], 0x1d
jmp 0x41f64f
lea ecx, [eax + 1]
jl 0x41f5ac
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 + 0x54], 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]
add esi, 2
add ecx, eax
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x4c], ecx
cmp esi, 1
jle 0x41f65d
mov dword [ebp + 0x80], 0x1f
xor edi, edi
jmp 0x41f665
xor edi, edi
mov dword [ebp + 0x80], edi
cmp esi, 2
jle 0x41f6a6
mov eax, ecx
and eax, reloc.WS2_32.dll_closesocket
jns 0x41f678
dec eax
or eax, 0xfffffffc
inc eax
jne 0x41f69d
mov eax, ecx
push 0x64
cdq
pop ebx
idiv ebx
test edx, edx
jne 0x41f694
mov eax, ecx
cdq
mov ecx, 0x190
idiv ecx
test edx, edx
jne 0x41f69d
mov dword [ebp + 0x6c], 0x1d
jmp 0x41f6a9
mov dword [ebp + 0x6c], 0x1c
jmp 0x41f6a9
mov dword [ebp + 0x6c], edi
mov dword [ebp + 0x38], 0x1f
cmp esi, 3
jg 0x41f6b8
mov dword [ebp + 0x38], edi
mov dword [ebp + 0x40], 0x1e
cmp esi, 4
jg 0x41f6c7
mov dword [ebp + 0x40], edi
mov dword [ebp + 0x70], 0x1f
cmp esi, 5
jg 0x41f6d6
mov dword [ebp + 0x70], edi
mov dword [ebp + 0x48], 0x1e
cmp esi, 6
jg 0x41f6e5
mov dword [ebp + 0x48], edi
cmp esi, 7
jle 0x41f6ef
push 0x1f
pop ebx
jmp 0x41f6f1
xor ebx, ebx
cmp esi, 8
jle 0x41f6fb
push 0x1f
pop edi
jmp 0x41f6fd
xor edi, edi
cmp esi, 9
jle 0x41f707
push 0x1e
pop edx
jmp 0x41f709
xor edx, edx
cmp esi, 0xa
jle 0x41f713
push 0x1f
pop ecx
jmp 0x41f715
xor ecx, ecx
cmp esi, 0xb
jle 0x41f71f
push 0x1e
pop eax
jmp 0x41f721
xor eax, eax
add eax, ecx
add eax, edx
add eax, edi
add eax, ebx
add eax, dword [ebp + 0x48]
add eax, dword [ebp + 0x70]
add eax, dword [ebp + 0x40]
add eax, dword [ebp + 0x38]
add eax, dword [ebp + 0x6c]
add eax, dword [ebp + 0x80]
add eax, dword [ebp + 0x54]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454810
cmp eax, 0x3c
jne 0x41f778
mov ecx, esi
mov dword [ebp + 0x50], 2
mov dword [ebp + 0x54], 0x1d
jmp 0x41f81c
lea ecx, [eax + 1]
jl 0x41f77f
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 + 0x54], 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]
add esi, 2
add ecx, eax
mov dword [ebp + 0x50], esi
xor edi, edi
mov eax, ecx
and eax, reloc.WS2_32.dll_closesocket
mov dword [ebp + 0x4c], ecx
jns 0x41f82d
dec eax
or eax, 0xfffffffc
inc eax
jne 0x41f84e
mov eax, ecx
push 0x64
cdq
pop esi
idiv esi
test edx, edx
jne 0x41f849
mov eax, ecx
cdq
mov ecx, 0x190
idiv ecx
test edx, edx
jne 0x41f84e
xor eax, eax
inc eax
jmp 0x41f850
xor eax, eax
add eax, 0x16d
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454810
cmp eax, 0x3c
jne 0x41f88c
mov ecx, esi
mov dword [ebp + 0x50], 2
mov dword [ebp + 0x54], 0x1d
jmp 0x41f933
lea ecx, [eax + 1]
jl 0x41f893
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 + 0x54], 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]
add esi, 2
add ecx, eax
mov dword [ebp + 0x50], esi
xor edi, edi
fld1
mov dword [ebp + 0x4c], ecx
fcomp qword [ebp + ebx*8 + 0xd28]
fnstsw ax
test ah, 0x41
jne 0x41f94e
mov dword [ebp + 0x80], edi
jmp 0x41f9b2
mov eax, dword [ebp + 0x50]
and eax, 9
cmp eax, 8
je 0x41f962
cmp eax, 1
je 0x41f962
xor esi, esi
jmp 0x41f965
xor esi, esi
inc esi
mov eax, ecx
and eax, reloc.WS2_32.dll_closesocket
jns 0x41f973
dec eax
or eax, 0xfffffffc
inc eax
jne 0x41f98f
mov eax, ecx
push 0x64
cdq
pop ebx
idiv ebx
test edx, edx
jne 0x41f99a
mov eax, ecx
cdq
mov ecx, 0x190
idiv ecx
test edx, edx
je 0x41f99a
cmp dword [ebp + 0x50], 2
jne 0x41f99a
xor eax, eax
inc eax
jmp 0x41f99c
xor eax, eax
xor ecx, ecx
cmp dword [ebp + 0x50], 2
sete cl
sub esi, ecx
sub esi, eax
add esi, 0x1e
mov dword [ebp + 0x80], esi
fild dword [ebp + 0x80]
jmp 0x41fd42
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
call fcn.00419498
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41f25c
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor ecx, ecx
cmp byte [ebp + 0x9d70], cl
je 0x41fd45
cmp ecx, edi
je 0x41fa35
mov al, byte [ebp + ecx + 0x9d6f]
cmp al, 0x61
jl 0x41fa18
cmp al, 0x7a
jle 0x41fa20
cmp al, 0x41
jl 0x41fa35
cmp al, 0x5a
jg 0x41fa35
lea edx, [ebp + ecx + 0x9d70]
mov al, byte [edx]
cmp al, 0x41
jl 0x41fa4a
cmp al, 0x5a
jg 0x41fa4a
add al, 0x20
jmp 0x41fa48
lea edx, [ebp + ecx + 0x9d70]
mov al, byte [edx]
cmp al, 0x61
jl 0x41fa4a
cmp al, 0x7a
jg 0x41fa4a
sub al, 0x20
mov byte [edx], al
inc ecx
cmp byte [ebp + ecx + 0x9d70], 0
jne 0x41fa05
jmp 0x41fd45
fld qword [ebp + ebx*8 + 0xd28]
push 0xf
push ecx
mov eax, ebx
shl eax, 0xc
push ecx
lea esi, [ebp + eax + 0xd70]
fstp qword [esp]
push esi
call fcn.0041c447
push edi
lea eax, [ebp + 0x9d70]
push eax
push esi
call fcn.0041b1e8
add esp, 0x1c
mov byte [esi], 0
jmp 0x41fd45
lea eax, [ebx - 2]
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp + 0x9d70]
push eax
lea esi, [ebp + ebx*8 + 0xd20]
call edi
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fcomp qword [esi]
fnstsw ax
test ah, 1
je 0x41fd45
shl ebx, 0xc
lea ebx, [ebp + ebx + 0xd70]
jmp 0x41fb30
fld qword [esi]
fld qword [0x468878]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x41fb00
fstp st(0)
fld qword [esi]
lea eax, [ebp + 0x9d70]
fstp qword [ebp + 0x34]
push eax
call edi
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fcomp qword [ebp + 0x34]
fnstsw ax
test ah, 5
jp 0x41fb35
push ebx
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [ebx], 0
jne 0x41fae9
fld qword [esi]
call fcn.00454810
mov ecx, 0xfff
cmp eax, ecx
jg 0x41fb47
mov ecx, eax
mov byte [ebp + ecx + 0x9d70], 0
jmp 0x41fd45
shl ebx, 0xc
lea esi, [ebp + ebx + 0xd70]
lea eax, [esi - 0x1000]
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [esi], 0
je 0x41fd45
cmp esi, edi
je 0x41fb90
lea eax, [ebp + 0x9d70]
push esi
push eax
call fcn.004526d0
pop ecx
pop ecx
jmp 0x41fb92
xor eax, eax
cmp eax, edi
je 0x41fd45
cmp esi, edi
je 0x41fbaf
lea eax, [ebp + 0x9d70]
push esi
push eax
call fcn.004526d0
pop ecx
pop ecx
jmp 0x41fbb1
xor eax, eax
mov byte [eax], 0
jmp 0x41fd45
lea eax, [ebx - 3]
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
fld qword [ebp + ebx*8 + 0xd18]
call fcn.00454810
lea esi, [eax - 1]
cmp esi, edi
jge 0x41fbe9
xor esi, esi
fld qword [ebp + ebx*8 + 0xd20]
mov dword [ebp + 0x4c], esi
call fcn.00454810
cmp eax, edi
jge 0x41fbfe
xor eax, eax
mov dword [ebp + 0x50], eax
mov ecx, 0xfff
add eax, esi
mov dword [ebp + 0x54], ecx
cmp eax, ecx
jg 0x41fc12
mov dword [ebp + 0x54], eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jle 0x41fc39
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
lea eax, [ebp + 0x9d70]
jmp 0x4208f5
mov eax, dword [ebp + 0x54]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp + eax + 0x9d70]
push eax
mov dword [ebp + 0x80], eax
lea edi, [ebp + esi + 0x9d70]
call ebx
inc eax
push eax
push dword [ebp + 0x80]
push edi
call fcn.00452ea0
mov eax, dword [ebp + 0x64]
shl eax, 0xc
add esp, 0xc
lea eax, [ebp + eax + 0xd70]
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 + 0x9d70]
push eax
call fcn.00452ea0
add esp, 0xc
lea eax, [ebp + 0x9d70]
push eax
call ebx
cmp esi, eax
jl 0x41fcaf
lea eax, [ebp + 0x9d70]
push eax
call ebx
mov esi, eax
push dword [ebp + 0x70]
call ebx
push eax
push dword [ebp + 0x70]
lea eax, [ebp + esi + 0x9d70]
push eax
call fcn.00452790
jmp 0x41f553
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454810
and eax, 1
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41fd42
cmp eax, 0x2a
jg 0x420a0f
je 0x4209fe
cmp eax, 0xfffffffb
jg 0x4207b7
je 0x42040a
cmp eax, 0xfffffff1
je 0x4201d5
cmp eax, 0xfffffff2
je 0x41fe81
cmp eax, 0xfffffff3
je 0x4201d5
cmp eax, 0xfffffff4
je 0x41fe3e
cmp eax, 0xfffffff6
je 0x41fe1c
cmp eax, 0xfffffffa
je 0x4201d5
fld qword [ebp + ebx*8 + 0xd28]
fstp qword [ebp + 0x74]
cmp dword [ebp + 0x3c], 0
mov esi, dword [ebp + 0x64]
jle 0x41fd79
mov eax, esi
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
test esi, esi
js 0x41fd79
fldz
dec dword [ebp + 0x3c]
fstp qword [ebp + esi*8 + 0xd28]
mov byte [eax], 0
dec esi
sub eax, 0x1000
cmp dword [ebp + 0x3c], 0
jg 0x41fd5a
fld qword [ebp + 0x74]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp + 0x9d70]
fstp qword [ebp + esi*8 + 0xd30]
push eax
call edi
lea ecx, [eax + 1]
mov eax, 0xfff
cmp ecx, eax
jg 0x41fda8
lea eax, [ebp + 0x9d70]
push eax
call edi
inc eax
push eax
lea eax, [ebp + 0x9d70]
push eax
lea eax, [esi + 1]
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
add esi, 2
mov dword [ebp + 0x64], esi
mov ebx, dword [ebp + 0x64]
mov esi, 0x76c
inc dword [ebp + 0x68]
cmp ebx, 9
jl 0x41fe03
mov eax, dword [ebp + 0x68]
imul eax, eax, 0x18
mov al, byte [ebp + eax + 0x128]
cmp al, 0x30
jl 0x41fdf3
cmp al, 0x39
jle 0x4223e8
cmp al, 0x2e
je 0x4223e8
cmp al, 0x20
je 0x4223e8
mov eax, dword [ebp + 0x68]
imul eax, eax, 0x18
cmp byte [ebp + eax + 0x128], 0
jne 0x41f09c
jmp 0x4223fa
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
call fcn.00401341
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41f25c
shl ebx, 0xc
lea esi, [ebp + ebx + 0xd70]
cmp esi, edi
je 0x41fe70
cmp byte [esi], 0
je 0x41fe70
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push esi
call ebx
test al, 0x10
je 0x41fe70
push esi
call ebx
mov dword [ebp + 0x80], 1
cmp eax, 0xffffffff
jne 0x41fe76
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41fd42
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd71]
cmp byte [eax], 0x3a
mov dword [ebp + 0x38], eax
jne 0x41febb
mov byte [eax], 0xb2
lea edi, [ebp + ebx + 0xd70]
mov dword [ebp + 0x70], edi
test edi, edi
je 0x41ffd1
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ff0d
cmp cl, 0x3a
jne 0x41feb8
mov byte [eax], 0x20
inc eax
jmp 0x41feaa
lea esi, [ebp + ebx + 0xd70]
cmp esi, edi
je 0x41fed8
push 2
push 0x466844
push esi
call fcn.004549c0
add esp, 0xc
jmp 0x41fedb
xor eax, eax
inc eax
cmp eax, edi
je 0x41fe96
cmp esi, edi
je 0x41fe96
mov eax, esi
mov cl, byte [eax]
test cl, cl
je 0x41fef6
cmp cl, 0x5c
jne 0x41fef3
mov byte [eax], 0x20
inc eax
jmp 0x41fee5
cmp esi, edi
je 0x41fe96
mov eax, esi
mov cl, byte [eax]
test cl, cl
je 0x41fe96
cmp cl, 0x2f
jne 0x41ff0a
mov byte [eax], 0x20
inc eax
jmp 0x41fefc
test edi, edi
je 0x41ffd1
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ff28
cmp cl, 0xb2
jne 0x41ff25
mov byte [eax], 0x3a
inc eax
jmp 0x41ff17
test edi, edi
je 0x41ffd1
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ff43
cmp cl, 0x3e
jne 0x41ff40
mov byte [eax], 0x20
inc eax
jmp 0x41ff32
test edi, edi
je 0x41ffd1
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ff5e
cmp cl, 0x3c
jne 0x41ff5b
mov byte [eax], 0x20
inc eax
jmp 0x41ff4d
test edi, edi
je 0x41ffd1
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ff75
cmp cl, 0x2a
jne 0x41ff72
mov byte [eax], 0x20
inc eax
jmp 0x41ff64
test edi, edi
je 0x41ffd1
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ff8c
cmp cl, 0x7c
jne 0x41ff89
mov byte [eax], 0x20
inc eax
jmp 0x41ff7b
test edi, edi
je 0x41ffd1
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ffa3
cmp cl, 0xd
jne 0x41ffa0
mov byte [eax], 0x20
inc eax
jmp 0x41ff92
test edi, edi
je 0x41ffd1
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ffba
cmp cl, 0xa
jne 0x41ffb7
mov byte [eax], 0x20
inc eax
jmp 0x41ffa9
test edi, edi
je 0x41ffd1
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ffd1
cmp cl, 9
jne 0x41ffce
mov byte [eax], 0x20
inc eax
jmp 0x41ffc0
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, 0x468870
push ebx
call esi
push str.__r_n
mov dword [ebp + 0x40], eax
call esi
mov dword [ebp + 0x80], eax
test edi, edi
je 0x42003e
push ebx
jmp 0x420032
mov eax, dword [ebp + 0x40]
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.00452ea0
push dword [ebp + 0x80]
push str.__r_n
push esi
call fcn.00452790
add esp, 0x18
test edi, edi
je 0x42003e
push 0x468870
push edi
call fcn.004526d0
pop ecx
pop ecx
mov esi, eax
jmp 0x420040
xor esi, esi
test esi, esi
jne 0x41fff6
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, 0x46886c
push edi
call esi
push str.__r_n
mov dword [ebp + 0x40], eax
call esi
cmp dword [ebp + 0x70], 0
mov dword [ebp + 0x80], eax
je 0x4200b6
push edi
push dword [ebp + 0x70]
jmp 0x4200ab
mov eax, dword [ebp + 0x40]
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.00452ea0
push dword [ebp + 0x80]
push str.__r_n
push esi
call fcn.00452790
add esp, 0x18
test edi, edi
je 0x4200b6
push 0x46886c
push edi
call fcn.004526d0
pop ecx
pop ecx
mov esi, eax
jmp 0x4200b8
xor esi, esi
test esi, esi
jne 0x42006e
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, 0x464cdc
push edi
call esi
push str.__r_n
mov dword [ebp + 0x40], eax
call esi
cmp dword [ebp + 0x70], 0
mov dword [ebp + 0x80], eax
je 0x42012e
push edi
push dword [ebp + 0x70]
jmp 0x420123
mov eax, dword [ebp + 0x40]
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.00452ea0
push dword [ebp + 0x80]
push str.__r_n
push esi
call fcn.00452790
add esp, 0x18
test edi, edi
je 0x42012e
push 0x464cdc
push edi
call fcn.004526d0
pop ecx
pop ecx
mov esi, eax
jmp 0x420130
xor esi, esi
test esi, esi
jne 0x4200e6
mov esi, dword [ebp + 0x70]
test esi, esi
je 0x420199
mov edi, esi
mov al, byte [edi]
test al, al
je 0x420166
cmp al, 0x3f
je 0x42014e
cmp al, 0x22
je 0x42014e
inc edi
jmp 0x42013d
lea ebx, [edi + 1]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push ebx
push edi
call fcn.00452ea0
add esp, 0xc
jmp 0x42013d
test esi, esi
je 0x420199
mov al, byte [esi]
test al, al
je 0x420199
cmp al, 0x20
je 0x420180
cmp al, 9
je 0x420180
cmp al, 0xd
je 0x420180
cmp al, 0xa
jne 0x420199
push dword [ebp + 0x38]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [ebp + 0x38]
push esi
call fcn.00452ea0
add esp, 0xc
jmp 0x42016a
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
jmp 0x4201bd
mov cl, byte [esi + eax]
cmp cl, 0x20
je 0x4201b9
cmp cl, 9
je 0x4201b9
cmp cl, 0xd
je 0x4201b9
cmp cl, 0xa
jne 0x4201c2
mov byte [esi + eax], 0
dec eax
test eax, eax
jg 0x4201a2
push esi
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x41fd45
mov eax, dword [ebp + 0x80]
mov al, byte [ebp + eax + 0x140]
mov dword [ebp + 0x50], edi
mov dword [ebp + 0x4c], edi
test al, al
je 0x420297
cmp al, 0x3f
jne 0x4201fb
mov dword [ebp + 0x50], 1
inc dword [ebp + 0x4c]
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x4c]
add ecx, eax
imul ecx, ecx, 0x18
mov al, byte [ebp + ecx + 0x140]
test al, al
jne 0x4201f0
cmp dword [ebp + 0x50], edi
je 0x420297
lea ecx, [ebp + ebx*8 + 0xd28]
fld qword [ecx]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x42024c
fld qword [ecx]
call fcn.00454846
push eax
lea eax, [ebp + 0x9d70]
push 0x464bf4
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x420264
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
lea eax, [ebp + 0x9d70]
push eax
lea eax, [ebp + 0x9d71]
push eax
call fcn.00452ea0
mov al, byte [ebp + 0x7f]
add esp, 0xc
mov byte [ebp + 0x9d70], al
jmp 0x41fd45
mov al, byte [ebp + 0x7f]
cmp al, 0xfa
jne 0x4202c7
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454846
push eax
shl ebx, 0xc
push str.__r_n
lea eax, [ebp + ebx - 0x290]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x41fd45
cmp al, 0xf3
jne 0x420361
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454846
mov esi, eax
cmp esi, edi
je 0x420350
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x420337
push esi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x420300
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 0x420350
push esi
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp + 0x80], 1
test eax, eax
jne 0x420356
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41fd42
cmp al, 0xa3
jne 0x4203b0
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454846
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 0x41fd45
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41fd45
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x41fd45
cmp al, 0xf1
jne 0x41fd45
mov edi, dword [ebp + 0x64]
shl edi, 0xc
lea esi, [ebp + edi + 0xd70]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
lea eax, [ebp + edi + 0xd71]
push esi
push eax
call fcn.00452ea0
add esp, 0xc
mov byte [esi], 0x22
test esi, esi
je 0x4203f2
push 0x465ee0
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push esi
call fcn.00419691
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41fd42
shl ebx, 0xc
lea esi, [ebp + ebx + 0xd70]
push 0x468868
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x42044c
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 0x41fd42
push str.maxcolor
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4204ae
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 0x420483
push 0x18
pop eax
jmp 0x42048d
push 0xc
call ebx
push eax
call esi
push eax
call edi
push 2
pop ecx
cmp eax, 1
jle 0x42049b
dec eax
add ecx, ecx
dec eax
jne 0x420496
mov dword [ebp + 0x80], ecx
fild dword [ebp + 0x80]
test ecx, ecx
jmp 0x41f25e
push str.directory
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x420503
lea eax, [ebp + 0x9d70]
push eax
push 0x102
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
jmp 0x4204f9
lea ecx, [ebp + eax + 0x9d70]
mov dl, byte [ecx]
cmp dl, 0x5c
je 0x4204f6
test dl, dl
jne 0x41fd45
mov byte [ecx], 0
dec eax
cmp eax, edi
jg 0x4204e0
jmp 0x41fd45
push 0x468848
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x42052d
push 0x50
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41fd42
push str.osname
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x42061a
mov esi, dword [sym.imp.KERNEL32.dll_GetVersion]
call esi
cmp al, 5
jne 0x420561
call esi
shr eax, 8
cmp al, 1
jne 0x420561
mov eax, str.Windows_XP
jmp 0x420614
call fcn.004195b6
test eax, eax
je 0x420574
mov eax, str.Windows_Server_2008
jmp 0x420614
call esi
cmp al, 6
jne 0x42058d
call esi
shr eax, 8
test al, al
jne 0x42058d
mov eax, str.Windows_Vista
jmp 0x420614
call esi
cmp al, 6
jne 0x4205a3
call esi
shr eax, 8
cmp al, 1
jne 0x4205a3
mov eax, str.Windows_7
jmp 0x420614
call esi
cmp al, 5
jne 0x4205b9
call esi
shr eax, 8
cmp al, 2
jne 0x4205b9
mov eax, str.Windows_2003
jmp 0x420614
call esi
cmp al, 5
jne 0x4205cf
call esi
shr eax, 8
test al, al
jne 0x4205cf
mov eax, str.Windows_2000
jmp 0x420614
call esi
cmp al, 4
jne 0x4205e5
call esi
shr eax, 8
cmp al, 0x5a
jne 0x4205e5
mov eax, str.Windows_ME
jmp 0x420614
call esi
cmp al, 4
jne 0x4205fb
call esi
shr eax, 8
cmp al, 0xa
jne 0x4205fb
mov eax, str.Windows_98
jmp 0x420614
call esi
cmp al, 4
jne 0x42060f
call esi
shr eax, 8
test al, al
mov eax, str.Windows_NT
je 0x420614
mov eax, str.Unknown
push eax
jmp 0x4201c3
push str.osversionex
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x420673
push 0x90
lea eax, [ebp + 0x88]
push edi
push eax
call fcn.00452e00
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 0x41f2bc
push str.osversion
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4206b0
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 + 0x9d70]
push str._d._d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
jmp 0x421c8f
push str.memavail
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x4207a1
push 0x468778
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x4207a1
push str.totmem
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x42078b
push str.memtot
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x42078b
push str.memused
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x420734
call fcn.00419619
mov esi, eax
call fcn.00419655
sub esi, eax
mov dword [ebp + 0x80], esi
fild dword [ebp + 0x80]
jmp 0x41f25e
push str.screenx
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x42075d
push edi
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41fd42
push 0x468750
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41fd45
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41fd42
call fcn.00419655
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41f25c
call fcn.00419619
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41f25c
cmp eax, 0xfffffffc
je 0x4209e8
cmp eax, 0x21
je 0x4209bb
cmp eax, 0x23
je 0x4209a9
cmp eax, 0x24
je 0x42093b
cmp eax, 0x25
je 0x420901
cmp eax, 0x26
jne case.0x420fa2.91
mov eax, ebx
shl eax, 0xc
lea esi, [ebp + eax + 0xd70]
cmp byte [esi], 0
jne 0x420832
cmp byte [esi - 0x1000], 0
jne 0x420877
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi - 8]
call fcn.00454810
fld qword [esi]
mov edi, eax
call fcn.00454810
and edi, eax
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41fd42
cmp byte [esi - 0x1000], 0
jne 0x420877
lea edi, [ebp + ebx*8 + 0xd20]
fld qword [edi]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x420877
push 0x22
push dword [ebp + 0x44]
call fcn.00452d30
pop ecx
pop ecx
test eax, eax
je 0x420877
fld qword [edi]
push 0xf
push ecx
push ecx
lea eax, [esi - 0x1000]
fstp qword [esp]
push eax
call fcn.0041c447
add esp, 0x10
cmp byte [esi], 0
jne 0x4208b2
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4208b2
push 0x22
push dword [ebp + 0x44]
call fcn.00452d30
pop ecx
pop ecx
test eax, eax
je 0x4208b2
fld qword [ebx]
push 0xf
push ecx
push ecx
fstp qword [esp]
push esi
call fcn.0041c447
add esp, 0x10
lea eax, [esi - 0x1000]
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp + 0x9d70]
push eax
call edi
lea eax, [ebp + eax + 0x9d70]
test eax, eax
je 0x41fd45
push esi
lea eax, [ebp + 0x9d70]
push eax
call edi
lea eax, [ebp + eax + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x41fd45
lea ecx, [ebp + ebx*8 + 0xd28]
fld qword [ecx]
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x41fd42
fstp st(0)
sub esp, 0x10
fld qword [ecx]
fstp qword [esp + 8]
fld qword [ecx - 8]
fstp qword [esp]
call fcn.00456250
add esp, 0x10
jmp 0x41fd42
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
cmp byte [eax], 0
jne 0x420985
cmp byte [eax - 0x1000], 0
jne 0x420985
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx - 8]
mov dword [ebp + 0x80], 1
fld qword [ebx]
fucompp
fnstsw ax
test ah, 0x44
jp 0x42097a
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41fd42
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 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
fadd qword [0x468330]
jmp 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
mov dword [ebp + 0x80], 1
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4209dd
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.00456100
jmp 0x41f418
lea eax, [ebp + ebx*8 + 0xd28]
fld qword [eax - 8]
fmul qword [eax]
jmp 0x41fd42
cmp eax, 0x3d
jg 0x420bf3
je 0x420b86
sub eax, 0x2b
je 0x420b75
dec eax
dec eax
je 0x420b64
dec eax
dec eax
je 0x420b3c
sub eax, 0xb
je 0x420af9
dec eax
je 0x420ab6
dec eax
jne case.0x420fa2.91
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
cmp byte [eax], 0
jne 0x420a92
cmp byte [eax - 0x1000], 0
jne 0x420a92
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx]
mov dword [ebp + 0x80], 1
fcomp qword [ebx - 8]
fnstsw ax
test ah, 0x41
je 0x420a87
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41fd42
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 0x41fd42
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx - 8]
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x420ae6
fld qword [ebx]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x420ae8
mov dword [ebp + 0x80], 1
jmp 0x420aee
fstp st(0)
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41fd42
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx - 8]
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x420b25
fld qword [ebx]
fucompp
fnstsw ax
test ah, 0x44
jp 0x420b27
mov dword [ebp + 0x80], edi
jmp 0x420b31
fstp st(0)
mov dword [ebp + 0x80], 1
fild dword [ebp + 0x80]
jmp 0x41fd42
lea ecx, [ebp + ebx*8 + 0xd28]
fld qword [ecx]
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x41fd42
fstp st(0)
fld qword [ecx - 8]
fdiv qword [ecx]
jmp 0x41fd42
lea eax, [ebp + ebx*8 + 0xd28]
fld qword [eax - 8]
fsub qword [eax]
jmp 0x41fd42
lea eax, [ebp + ebx*8 + 0xd28]
fld qword [eax - 8]
fadd qword [eax]
jmp 0x41fd42
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
cmp byte [eax], 0
jne 0x420bd0
cmp byte [eax - 0x1000], 0
jne 0x420bd0
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx - 8]
mov dword [ebp + 0x80], 1
fld qword [ebx]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x420bc5
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41fd42
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 0x41fd42
sub eax, 0x3e
je 0x420eea
dec eax
je 0x420c58
dec eax
dec eax
je 0x420c39
dec eax
je 0x420c23
dec eax
jne case.0x420fa2.91
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.00454c20
jmp 0x41f418
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.00455fe0
jmp 0x41f418
fldz
lea ecx, [ebp + ebx*8 + 0xd28]
fcomp qword [ecx]
fnstsw ax
fld qword [ecx]
test ah, 0x41
jne 0x41fd42
fchs
jmp 0x41fd42
lea ecx, [ebx - 2]
shl ecx, 0xc
cmp byte [ebp + ecx + 0xd70], 0
jne 0x420cba
fld qword [ebp + ebx*8 + 0xd18]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x420cba
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
cmp byte [eax], 0
je 0x420cb1
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
test eax, eax
jns 0x420cee
fadd qword [0x466a30]
jmp 0x420cee
fld qword [ebp + ebx*8 + 0xd28]
jmp 0x420cee
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax - 0x290]
cmp byte [eax], 0
je 0x420ce7
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x420ca5
fld qword [ebp + ebx*8 + 0xd20]
mov al, byte [ebp + 0x9d70]
fstp qword [ebp + 0x74]
cmp al, 0xfa
je 0x420d81
cmp al, 0xf3
je 0x420d9a
cmp al, 0xa3
je 0x420d1b
cmp al, 0xf1
jne 0x41fd45
cmp al, 0xa3
jne 0x420ea5
push 0
push 0
lea eax, [ebp + 0x9d71]
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 + 0x9d71]
push eax
fstp qword [ebp + 0x74]
call fcn.0040109c
pop ecx
test eax, eax
je 0x420ede
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x420ede
lea eax, [ebp + 0x9d71]
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x420ede
push edi
push str.__r_n
lea eax, [ebp + 0x9d71]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x420ede
lea eax, [ebp + 0x9d71]
push eax
call fcn.0040109c
pop ecx
cmp eax, edi
je 0x420e71
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x420e71
lea eax, [ebp + 0x9d71]
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x420dec
lea eax, [ebp + 0x9d71]
push 9
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [ebp + 0x9d71]
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 + 0x9d71]
push 5
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [ebp + 0x9d71]
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
lea eax, [ebp + 0x9d71]
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_BringWindowToTop]
lea eax, [ebp + 0x9d71]
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_SetActiveWindow]
lea eax, [ebp + 0x9d71]
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_SetFocus]
lea eax, [ebp + 0x9d71]
push eax
call fcn.0040109c
pop ecx
cmp eax, edi
je 0x420e97
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp + 0x80], 1
test eax, eax
jne 0x420e9d
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x420edb
cmp al, 0xf1
jne 0x420ede
push 0x465ee0
lea eax, [ebp + 0x9d70]
push eax
mov byte [ebp + 0x9d70], 0x22
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp + 0x9d70]
push eax
call fcn.00419691
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
fstp qword [ebp + 0x74]
mov byte [ebp + 0x9d70], 0
jmp 0x41fd45
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
cmp byte [eax], 0
jne 0x420f32
cmp byte [eax - 0x1000], 0
jne 0x420f32
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx]
mov dword [ebp + 0x80], 1
fcomp qword [ebx - 8]
fnstsw ax
test ah, 5
jnp 0x420f27
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41fd42
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 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454810
fld qword [ebp + ebx*8 + 0xd20]
push eax
call fcn.00454810
fld qword [ebp + ebx*8 + 0xd18]
push eax
call fcn.00454810
push eax
call fcn.00419281
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
add esp, 0xc
jmp 0x41fd42
sub eax, 0x46
cmp eax, 0x38
ja case.0x420fa2.91
jmp dword [eax*4 + 0x4224b8]
fld qword [ebp + ebx*8 + 0xd28]
jmp 0x420c51
fld qword [ebp + ebx*8 + 0xd28]
fsub qword [0x468330]
jmp 0x41fd42
lea eax, [ebp + ebx*8 + 0xd28]
fld qword [eax]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [eax - 8]
fstp qword [esp]
call fcn.00455d50
jmp 0x420933
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi - 8]
call fcn.00454810
fld qword [esi]
mov edi, eax
call fcn.00454810
or edi, eax
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41fd42
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi - 8]
call fcn.00454810
fld qword [esi]
mov edi, eax
call fcn.00454810
xor edi, eax
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41fd42
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
cmp byte [eax], 0
jne 0x421085
cmp byte [eax - 0x1000], 0
jne 0x421085
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx]
mov dword [ebp + 0x80], 1
fcomp qword [ebx - 8]
fnstsw ax
test ah, 1
je 0x42107a
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41fd42
push eax
add eax, 0xfffff000
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
cmp eax, 0xffffffff
je 0x4210a1
mov dword [ebp + 0x80], edi
cmp eax, edi
jne 0x4210ab
mov dword [ebp + 0x80], 1
fild dword [ebp + 0x80]
jmp 0x41fd42
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
cmp byte [eax], 0
jne 0x4210fe
cmp byte [eax - 0x1000], 0
jne 0x4210fe
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx]
mov dword [ebp + 0x80], 1
fcomp qword [ebx - 8]
fnstsw ax
test ah, 0x41
jnp 0x4210f3
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41fd42
push eax
add eax, 0xfffff000
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x42111c
mov dword [ebp + 0x80], edi
cmp eax, edi
jne 0x421122
mov dword [ebp + 0x80], ecx
fild dword [ebp + 0x80]
jmp 0x41fd42
lea ecx, [ebp + ebx*8 + 0xd28]
fld qword [ecx]
fcomp qword [ecx - 8]
fnstsw ax
test ah, 5
jp 0x421148
fld qword [ecx - 8]
jmp 0x41fd42
fld qword [ecx]
jmp 0x41fd42
lea ecx, [ebp + ebx*8 + 0xd28]
fld qword [ecx]
fcomp qword [ecx - 8]
fnstsw ax
test ah, 0x41
jne 0x421148
jmp 0x421140
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
call fcn.00454810
fld qword [esi - 8]
movzx eax, ax
push eax
push ecx
push ecx
fstp qword [esp]
call fcn.0041a2e7
add esp, 0xc
jmp 0x41fd42
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
call fcn.00454810
fld qword [esi - 8]
movzx eax, ax
push eax
push ecx
push ecx
fstp qword [esp]
call fcn.0041a3b9
jmp 0x421183
push 0xf
push ecx
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
push ecx
lea eax, [ebp + 0x9d70]
fstp qword [esp]
push eax
call fcn.0041c447
lea eax, [ebp + 0x9d70]
push 0x2e
push eax
call fcn.00452d30
add esp, 0x18
test eax, eax
je 0x4211ef
lea eax, [ebp + 0x9d70]
push 0x2e
push eax
call fcn.00452d30
pop ecx
pop ecx
jmp 0x4211f4
mov eax, 0x464a50
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
fldz
fcomp qword [esi]
fnstsw ax
test ah, 0x41
jne 0x421216
or dword [ebp + 0x80], 0xffffffff
jmp 0x421220
mov dword [ebp + 0x80], 1
lea eax, [ebp + 0x9d70]
push eax
call fcn.00454966
fimul dword [ebp + 0x80]
pop ecx
mov byte [ebp + 0x9d70], 0
jmp 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.00455250
jmp 0x41f418
fldz
lea ecx, [ebp + ebx*8 + 0xd28]
fcom qword [ecx]
fnstsw ax
test ah, 0x41
je 0x41fd42
fstp st(0)
push ecx
fld qword [ecx]
push ecx
fstp qword [esp]
call fcn.00455ca4
jmp 0x41f418
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.00455b60
jmp 0x41f418
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.00455a30
jmp 0x41f418
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.00455900
jmp 0x41f418
fld qword [0x468748]
jmp 0x41fd42
shl ebx, 0xc
lea esi, [ebp + ebx + 0xd70]
mov dword [ebp + 0x80], edi
cmp esi, edi
je 0x421331
mov ecx, dword [ebp + 0x80]
mov al, byte [esi + ecx]
test al, al
je 0x421331
cmp al, 0x30
jl 0x4212f4
cmp al, 0x39
jle 0x42131e
cmp al, 0x2d
je 0x42131e
cmp al, 0x2e
je 0x42131e
cmp ecx, edi
jne 0x421327
lea edi, [ebp + ebx + 0xd71]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push edi
push esi
call fcn.00452ea0
add esp, 0xc
xor edi, edi
jmp 0x4212df
inc ecx
mov dword [ebp + 0x80], ecx
jmp 0x4212df
add ebx, ecx
mov byte [ebp + ebx + 0xd70], 0
push esi
call fcn.00454966
jmp 0x41f419
fldz
lea ecx, [ebp + ebx*8 + 0xd28]
fcomp qword [ecx]
fnstsw ax
fld qword [ecx]
test ah, 0x41
je 0x421246
call fcn.00454810
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41fd42
lea ecx, [ebp + ebx*8 + 0xd28]
fld qword [ecx]
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x41fd42
fstp st(0)
fld qword [ecx - 8]
fdiv qword [ecx]
call fcn.00454810
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41fd42
lea eax, [ebp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x4213ba
push dword [ebp + 0x28]
call fcn.00454755
pop ecx
call fcn.00454767
cmp byte [ebp + 0x7f], 0x5a
jne 0x4213dc
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fmul qword [0x468740]
jmp 0x41fd42
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
fcomp qword [esi - 8]
fnstsw ax
test ah, 5
jp 0x421401
fstp st(0)
fldz
jmp 0x421421
fld qword [esi]
sub esp, 0x10
fsub qword [esi - 8]
fadd qword [0x468330]
fstp qword [esp + 8]
fstp qword [esp]
call fcn.00456250
fadd qword [esi - 8]
add esp, 0x10
call fcn.00454810
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41fd42
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x4c]
push eax
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
call fcn.0041dd86
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
call fcn.00419281
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
add esp, 0x1c
jmp 0x41fd42
lea eax, [ebp + 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp + 0x11e]
push eax
movzx eax, word [ebp + 0x11a]
push eax
movzx eax, word [ebp + 0x118]
push eax
call fcn.00419281
mov dword [ebp + 0x80], eax
movzx eax, word [ebp + 0x124]
fild dword [ebp + 0x80]
push eax
movzx eax, word [ebp + 0x122]
fstp qword [ebp + 0x74]
push eax
movzx eax, word [ebp + 0x120]
push eax
call fcn.00419236
add esp, 0x18
fadd qword [ebp + 0x74]
jmp 0x41fd42
lea eax, [ebp + 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp + 0x11e]
push eax
movzx eax, word [ebp + 0x11a]
push eax
movzx eax, word [ebp + 0x118]
push eax
call fcn.00419281
mov dword [ebp + 0x80], eax
add esp, 0xc
fild dword [ebp + 0x80]
jmp 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454810
cmp eax, 0x3c
jne 0x42153b
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x50], 2
mov dword [ebp + 0x54], 0x1d
jmp 0x4215e0
lea ecx, [eax + 1]
jl 0x421542
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 + 0x54], ecx
cdq
pop ecx
idiv ecx
mov ecx, eax
imul ecx, ecx, 0xc
sub esi, ecx
add esi, 2
add edi, eax
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x4c], edi
fild dword [ebp + 0x4c]
jmp 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454810
cmp eax, 0x3c
jne 0x42160f
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x50], 2
mov dword [ebp + 0x54], 0x1d
jmp 0x4216b4
lea ecx, [eax + 1]
jl 0x421616
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 + 0x54], ecx
cdq
pop ecx
idiv ecx
mov ecx, eax
imul ecx, ecx, 0xc
sub esi, ecx
add esi, 2
add edi, eax
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x4c], edi
fild dword [ebp + 0x50]
jmp 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454810
cmp eax, 0x3c
jne 0x4216e3
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x50], 2
mov dword [ebp + 0x54], 0x1d
jmp 0x421788
lea ecx, [eax + 1]
jl 0x4216ea
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 + 0x54], ecx
cdq
pop ecx
idiv ecx
mov ecx, eax
imul ecx, ecx, 0xc
sub esi, ecx
add esi, 2
add edi, eax
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x4c], edi
fild dword [ebp + 0x54]
jmp 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454810
cmp eax, 0x3c
jne 0x4217b6
mov ecx, esi
mov dword [ebp + 0x50], 2
mov dword [ebp + 0x54], 0x1d
jmp 0x421858
lea ecx, [eax + 1]
jl 0x4217bd
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 + 0x54], 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]
add esi, 2
mov dword [ebp + 0x50], esi
add ecx, eax
push dword [ebp + 0x54]
mov dword [ebp + 0x4c], ecx
push dword [ebp + 0x50]
push ecx
call fcn.0041aef5
add esp, 0xc
inc eax
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454810
fld qword [ebp + ebx*8 + 0xd20]
push eax
call fcn.00454810
fld qword [ebp + ebx*8 + 0xd18]
push eax
call fcn.00454810
push eax
call fcn.00419236
jmp 0x421183
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
call fcn.00454810
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fsubr qword [esi]
fmul qword [0x468078]
fadd qword [0x4666e0]
call fcn.00454810
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 + 0x4c], ecx
imul ecx, ecx, 0x3c
add ecx, eax
imul ecx, ecx, 0x3c
sub esi, ecx
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x54], esi
jmp 0x4215e0
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
call fcn.00454810
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fsubr qword [esi]
fmul qword [0x468078]
fadd qword [0x4666e0]
call fcn.00454810
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 + 0x4c], ecx
imul ecx, ecx, 0x3c
add ecx, eax
imul ecx, ecx, 0x3c
sub esi, ecx
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x54], esi
jmp 0x4216b4
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
call fcn.00454810
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fsubr qword [esi]
fmul qword [0x468078]
fadd qword [0x4666e0]
call fcn.00454810
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 + 0x4c], ecx
imul ecx, ecx, 0x3c
add ecx, eax
imul ecx, ecx, 0x3c
sub esi, ecx
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x54], esi
jmp 0x421788
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x4c]
push eax
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
call fcn.0041a9a3
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
call fcn.00419236
add esp, 0x1c
jmp 0x41fd42
lea ecx, [ebp + ebx*8 + 0xd28]
fld qword [ecx]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x421a36
fld qword [ecx]
push 0xf
push ecx
push ecx
lea eax, [ebp + 0x9d70]
fstp qword [esp]
push eax
call fcn.0041c447
jmp 0x421c8f
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp + 0x9d70]
mov al, byte [ecx]
test al, al
je 0x41fd45
cmp al, 0x61
jl 0x421a6a
cmp al, 0x7a
jg 0x421a6a
sub al, 0x20
mov byte [ecx], al
inc ecx
jmp 0x421a54
lea ecx, [ebp + ebx*8 + 0xd28]
fld qword [ecx]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x421a1c
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp + 0x9d70]
mov al, byte [ecx]
test al, al
je 0x41fd45
cmp al, 0x41
jl 0x421ab5
cmp al, 0x5a
jg 0x421ab5
add al, 0x20
mov byte [ecx], al
inc ecx
jmp 0x421a9f
shl ebx, 0xc
lea ebx, [ebp + ebx + 0xd70]
lea esi, [ebx - 0x1000]
mov dword [ebp + 0x6c], edi
mov byte [ebp + 0x9d70], 0
cmp esi, edi
je 0x41fd45
cmp byte [esi], 0
je 0x41fd45
test ebx, ebx
je 0x421af4
push ebx
push esi
call fcn.004526d0
pop ecx
pop ecx
mov edi, eax
jmp 0x421af6
xor edi, edi
mov eax, dword [ebp + 0x64]
fld qword [ebp + eax*8 + 0xd18]
fsub qword [0x468330]
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x421b15
fstp st(1)
jmp 0x421b17
fstp st(0)
fild dword [ebp + 0x6c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x421b44
mov esi, edi
test edi, edi
je 0x421b38
cmp byte [edi], 0
je 0x421b38
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea esi, [edi + eax]
inc dword [ebp + 0x6c]
test esi, esi
jne 0x421ada
jmp 0x41fd45
test edi, edi
je 0x421b4e
mov eax, edi
sub eax, esi
jmp 0x421b55
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
mov ecx, 0xfff
cmp eax, ecx
jle 0x421b63
mov eax, ecx
jmp 0x421b76
test edi, edi
je 0x421b6e
sub edi, esi
lea eax, [edi + 1]
jmp 0x421b76
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push esi
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
jmp 0x41fd45
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454810
movsx eax, al
push eax
push 0x46873c
jmp 0x41f546
shl ebx, 0xc
movsx eax, byte [ebp + ebx + 0xd70]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41fd42
mov eax, ebx
shl eax, 0xc
lea esi, [ebp + eax + 0xd70]
mov dword [ebp + 0x70], esi
add esi, 0xfffff000
cmp byte [esi], 0
mov dword [ebp + 0x80], eax
je 0x421c74
lea eax, [ebx - 1]
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
mov dword [ebp + 0x48], eax
cmp eax, edi
je 0x421c17
push str.0123456789_.__t_r_n
push esi
call fcn.00454a80
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 0x421c19
xor eax, eax
cmp eax, edi
je 0x421c66
mov dword [ebp + 0x6c], edi
cmp dword [ebp + 0x48], edi
je 0x421c66
mov eax, dword [ebp + 0x6c]
lea edi, [eax + esi]
mov al, byte [edi]
test al, al
je 0x421c66
cmp al, 0x2c
je 0x421c3a
inc dword [ebp + 0x6c]
jmp 0x421c25
mov ecx, dword [ebp + 0x6c]
mov eax, dword [ebp + 0x80]
add eax, ecx
lea eax, [ebp + eax - 0x28f]
push eax
mov dword [ebp + 0x38], eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [ebp + 0x38]
push edi
call fcn.00452ea0
add esp, 0xc
jmp 0x421c25
cmp byte [esi], 0
je 0x421c74
push esi
call fcn.00454966
pop ecx
jmp 0x421c7b
fld qword [ebp + ebx*8 + 0xd20]
push dword [ebp + 0x70]
lea eax, [ebp + 0x9d70]
push ecx
push ecx
fstp qword [esp]
push eax
call fcn.0041c610
add esp, 0x10
jmp 0x41fd45
mov edi, ebx
shl edi, 0xc
lea esi, [ebp + edi + 0xd70]
test esi, esi
je 0x421cc9
lea eax, [ebx - 1]
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
test eax, eax
je 0x421cc9
lea eax, [esi - 0x1000]
push eax
push esi
call fcn.004526d0
pop ecx
pop ecx
jmp 0x421ccb
xor eax, eax
test eax, eax
je 0x421d08
test esi, esi
je 0x421cf3
dec ebx
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
test eax, eax
je 0x421cf3
lea eax, [esi - 0x1000]
push eax
push esi
call fcn.004526d0
pop ecx
pop ecx
jmp 0x421cf5
xor eax, eax
sub eax, edi
lea ecx, [ebp + 0xd70]
sub eax, ecx
inc eax
mov dword [ebp + 0x80], eax
jmp 0x421d0f
and dword [ebp + 0x80], 0
fild dword [ebp + 0x80]
jmp 0x41fd42
shl ebx, 0xc
lea esi, [ebp + ebx + 0xd70]
lea edi, [esi - 0x1000]
push edi
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x421d57
push edi
push esi
call fcn.004010ff
pop ecx
pop ecx
xor ecx, ecx
inc ecx
sub ecx, ebx
lea edx, [ebp + 0xd70]
sub ecx, edx
add eax, ecx
mov dword [ebp + 0x80], eax
jmp 0x421d5e
and dword [ebp + 0x80], 0
fild dword [ebp + 0x80]
jmp 0x41fd42
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00454810
lea edi, [eax + 1]
test edi, edi
jns 0x421d80
xor eax, eax
jmp 0x421da4
mov eax, ebx
shl eax, 0xc
lea esi, [ebp + eax - 0x290]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
cmp edi, eax
jle 0x421da2
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
jmp 0x421da4
mov eax, edi
shl ebx, 0xc
push eax
lea eax, [ebp + ebx - 0x290]
push eax
jmp 0x421b78
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp byte [ebp + 0x9d70], 0
je 0x421e08
cmp byte [ebp + 0x9d70], 0x20
jne 0x421e08
lea eax, [ebp + 0x9d71]
push eax
call esi
inc eax
push eax
lea eax, [ebp + 0x9d71]
push eax
lea eax, [ebp + 0x9d70]
push eax
call fcn.00452ea0
add esp, 0xc
jmp 0x421dd3
lea eax, [ebp + 0x9d70]
push eax
call esi
jmp 0x421e2c
lea ecx, [ebp + eax + 0x9d70]
mov dl, byte [ecx]
cmp dl, 0x20
je 0x421e29
test dl, dl
jne 0x41fd45
mov byte [ecx], 0
dec eax
cmp eax, edi
jg 0x421e13
jmp 0x41fd45
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
add eax, 0xfffff000
push eax
call fcn.0040af28
pop ecx
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41fd42
shl ebx, 0xc
lea esi, [ebp + ebx + 0xd70]
lea eax, [esi - 0x1000]
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp byte [ebp + 0x9d70], 0
je 0x421edd
cmp byte [esi], 0
je 0x421edd
test esi, esi
je 0x421eab
push esi
call edi
push eax
lea eax, [ebp + 0x9d70]
push esi
push eax
call fcn.004549c0
add esp, 0xc
jmp 0x421eae
xor eax, eax
inc eax
test eax, eax
jne 0x421edd
push esi
call edi
lea eax, [ebp + eax + 0x9d70]
push eax
call edi
inc eax
push eax
push esi
call edi
lea eax, [ebp + eax + 0x9d70]
push eax
lea eax, [ebp + 0x9d70]
push eax
call fcn.00452ea0
add esp, 0xc
jmp 0x421e83
push esi
call fcn.00419458
pop ecx
test al, al
jne 0x41fd45
and dword [ebp + 0x4c], 0
cmp byte [esi], al
je 0x41fd45
xor ebx, ebx
mov dword [ebp + 0x50], ebx
cmp byte [esi], bl
je 0x421f3d
mov al, byte [ebp + 0x9d70]
test al, al
je 0x421f33
cmp al, byte [esi + ebx]
jne 0x421f33
lea eax, [ebp + 0x9d71]
push eax
call edi
inc eax
push eax
lea eax, [ebp + 0x9d71]
push eax
lea eax, [ebp + 0x9d70]
push eax
call fcn.00452ea0
add esp, 0xc
jmp 0x421f01
inc ebx
cmp byte [esi + ebx], 0
jne 0x421f01
mov dword [ebp + 0x50], ebx
inc dword [ebp + 0x4c]
mov eax, dword [ebp + 0x4c]
cmp byte [esi + eax], 0
jne 0x421ef8
jmp 0x41fd45
shl ebx, 0xc
lea esi, [ebp + ebx + 0xd70]
lea eax, [esi - 0x1000]
push eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
mov dword [ebp + 0x4c], edi
cmp edi, 1
jl 0x41fd45
jmp 0x421f9e
sub eax, edi
lea ebx, [ebp + eax + 0x9d70]
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x41fd45
mov byte [ebx], al
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp + 0x50], eax
cmp eax, edi
jge 0x421f83
jmp 0x41fd45
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, ebx
shl esi, 0xc
lea eax, [ebp + esi - 0x290]
push eax
call edi
fld qword [ebp + ebx*8 + 0xd28]
mov dword [ebp + 0x70], eax
call fcn.00454810
lea ebx, [eax + 1]
mov dword [ebp + 0x6c], eax
test ebx, ebx
jns 0x421fe9
xor eax, eax
jmp 0x422027
mov eax, dword [ebp + 0x70]
sub eax, dword [ebp + 0x6c]
mov dword [ebp + 0x80], eax
jns 0x421ff9
xor eax, eax
add eax, esi
lea eax, [ebp + eax - 0x290]
push eax
call edi
inc eax
cmp ebx, eax
jle 0x422025
mov eax, dword [ebp + 0x80]
test eax, eax
jns 0x422016
xor eax, eax
add eax, esi
lea eax, [ebp + eax - 0x290]
push eax
call edi
inc eax
jmp 0x422027
mov eax, ebx
mov ecx, dword [ebp + 0x70]
sub ecx, dword [ebp + 0x6c]
jns 0x422031
xor ecx, ecx
add esi, ecx
push eax
lea eax, [ebp + esi - 0x290]
jmp 0x421daf
lea edi, [ebp + ebx*8 + 0xd28]
fld qword [edi - 8]
call fcn.00454810
dec eax
mov dword [ebp + 0x80], eax
jns 0x42205e
and dword [ebp + 0x4c], 0
jmp 0x42208e
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebx - 2]
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
push eax
mov dword [ebp + 0x6c], eax
call esi
mov ecx, dword [ebp + 0x80]
cmp ecx, eax
jle 0x42208b
push dword [ebp + 0x6c]
call esi
mov dword [ebp + 0x4c], eax
jmp 0x42208e
mov dword [ebp + 0x4c], ecx
lea esi, [ebx - 2]
shl esi, 0xc
lea ebx, [ebp + esi + 0xd70]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
fld qword [edi]
call fcn.00454810
mov dword [ebp + 0x6c], eax
test eax, eax
jns 0x4220b6
and dword [ebp + 0x50], 0
jmp 0x4220d1
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push ebx
call edi
mov ecx, dword [ebp + 0x6c]
cmp ecx, eax
jle 0x4220ce
push ebx
call edi
mov dword [ebp + 0x50], eax
jmp 0x4220d1
mov dword [ebp + 0x50], ecx
add esi, dword [ebp + 0x4c]
mov edi, dword [ebp + 0x50]
push edi
lea eax, [ebp + esi + 0xd70]
push eax
lea eax, [ebp + 0x9d70]
push eax
call fcn.00452790
add esp, 0xc
mov byte [ebp + edi + 0x9d70], 0
jmp 0x41fd45
mov eax, ebx
shl eax, 0xc
lea ecx, [ebp + eax + 0xd70]
cmp byte [ecx], 0
jne 0x42216c
mov eax, dword [ebp + 0x68]
dec eax
cmp eax, edi
jge 0x422117
xor eax, eax
imul eax, eax, 0x18
cmp byte [ebp + eax + 0x128], 0x20
je 0x42216c
fld qword [ebp + ebx*8 + 0xd28]
push 0xf
push ecx
push ecx
lea eax, [ebp + 0x9d70]
fstp qword [esp]
push eax
call fcn.0041c447
lea eax, [ebp + 0x9d70]
push edi
push eax
call fcn.0041a20d
add esp, 0x18
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x421233
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41fd42
mov eax, ebx
shl eax, 0xc
lea edi, [ebp + eax - 0x290]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
and dword [ebp + 0x70], 0
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
mov dword [ebp + 0x50], eax
fcomp qword [0x466558]
fnstsw ax
test ah, 0x41
jne 0x41fd45
mov eax, dword [ebp + 0x50]
lea ebx, [ebp + 0x9d70]
mov ecx, ebx
sub eax, ecx
mov dword [ebp + 0x80], eax
mov eax, dword [ebp + 0x80]
add eax, ebx
cmp eax, 0x1000
jge 0x41fd45
mov eax, dword [ebp + 0x50]
inc eax
push eax
push edi
push ebx
call fcn.00452790
add ebx, dword [ebp + 0x50]
add esp, 0xc
inc dword [ebp + 0x70]
fild dword [ebp + 0x70]
fcomp qword [esi]
fnstsw ax
test ah, 5
jnp 0x4221cb
jmp 0x41fd45
mov edi, dword [ebp + 0x64]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
shl edi, 0xc
lea edi, [ebp + edi + 0xd70]
push edi
call ebx
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp + 0x64]
add eax, 0xfffffffe
shl eax, 0xc
lea esi, [edi - 0x1000]
lea eax, [ebp + eax + 0xd70]
push esi
push eax
mov dword [ebp + 0x6c], eax
call fcn.0040af28
imul eax, dword [ebp + 0x4c]
pop ecx
cmp eax, 0x1000
pop ecx
lea eax, [ebp + 0x9d70]
jle 0x42225a
push str.Expression_too_big
jmp 0x4201c9
push dword [ebp + 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push esi
call ebx
cmp byte [ebp + 0x7f], 0x59
push edi
jne 0x4222f7
mov dword [ebp + 0x80], eax
call ebx
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x64]
dec eax
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
mov dword [ebp + 0x48], eax
test eax, eax
je 0x4222ec
push esi
lea eax, [ebp + 0x9d70]
push eax
jmp 0x4222e1
mov eax, dword [ebp + 0x80]
mov ecx, dword [ebp + 0x38]
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.00452ea0
push dword [ebp + 0x38]
push edi
push esi
call fcn.00452790
add esp, 0x18
test ebx, ebx
je 0x4222ec
cmp dword [ebp + 0x48], 0
je 0x4222ec
lea eax, [edi - 0x1000]
push eax
push ebx
call fcn.004526d0
pop ecx
pop ecx
mov esi, eax
jmp 0x4222ee
xor esi, esi
test esi, esi
jne 0x42229c
jmp 0x41fd45
mov dword [ebp + 0x38], eax
call ebx
mov dword [ebp + 0x80], eax
lea eax, [ebp + 0x9d70]
push esi
push eax
call fcn.004010ff
pop ecx
pop ecx
jmp 0x42234f
mov eax, dword [ebp + 0x38]
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.00452ea0
push dword [ebp + 0x80]
push edi
push esi
call fcn.00452790
lea eax, [edi - 0x1000]
push eax
push ebx
call fcn.004010ff
add esp, 0x20
mov esi, eax
test esi, esi
jne 0x422313
jmp 0x41fd45
mov eax, dword [ebp + 0x68]
xor ebx, ebx
imul eax, eax, 0x18
mov al, byte [ebp + eax + 0x128]
mov esi, 0x468d04
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 0x42238e
mov esi, dword [ebp + ebx*4 - 0x16c]
inc ebx
cmp byte [esi], 0
jne 0x422371
mov esi, dword [ebp + ebx*4 - 0x170]
cmp byte [esi], 0
je 0x4223b2
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push esi
lea eax, [ebp + 0xbd90]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
jmp 0x4223bb
mov al, byte [ebp + 0x7f]
mov byte [ebp + 0xbd90], al
cmp byte [ebp + 0xbd90], 0
lea eax, [ebp + 0xbd90]
jne 0x4223cf
mov eax, 0x464a50
push edi
push eax
lea eax, [ebp + 0xd70]
push str.Formula_Error:___s__requires__d_parameters
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x4223fa
push 0x4686b0
lea eax, [ebp + 0xd70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, dword [ebp + 0x30]
test edi, edi
je 0x422470
cmp byte [ebp + 0xd70], 0
jne 0x42243b
fld qword [ebp + 0xd28]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x42243b
fld qword [ebp + 0xd28]
push 0xf
push ecx
push ecx
fstp qword [esp]
push edi
call fcn.0041c447
push 0
push edi
call fcn.0041a20d
add esp, 0x18
jmp 0x422470
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp + 0xd70]
push eax
call esi
lea ecx, [eax + 1]
mov eax, dword [ebp + 0xbdc4]
cmp eax, ecx
jb 0x422461
lea eax, [ebp + 0xd70]
push eax
call esi
inc eax
push eax
lea eax, [ebp + 0xd70]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push dword [ebp + 0x44]
call fcn.00452756
fld qword [ebp + 0xd28]
pop ecx
jmp 0x41e963