Function at 0x41b021
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.0044a430
mov eax, dword [0x4755d0]
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.00448090
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.00448090
push 0x8fff
lea eax, [ebp + 0xd71]
push ebx
push eax
mov byte [ebp + 0xd70], bl
call fcn.00448090
fldz
push 0x40
lea eax, [ebp + 0xd30]
fstp qword [ebp + 0xd28]
push ebx
push eax
call fcn.00448090
push 0xbf8
lea eax, [ebp + 0x130]
push ebx
push eax
mov byte [ebp + 0x128], bl
call fcn.00448090
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], 0x46082c
mov dword [ebp - 0x16c], 0x460828
mov dword [ebp - 0x168], 0x460824
mov dword [ebp - 0x164], 0x460820
mov dword [ebp - 0x160], 0x46081c
mov dword [ebp - 0x15c], 0x460818
mov dword [ebp - 0x158], 0x460814
mov dword [ebp - 0x154], 0x460810
mov dword [ebp - 0x150], 0x46080c
mov dword [ebp - 0x14c], str.RANDBETWEEN
mov dword [ebp - 0x148], 0x4607f8
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], 0x460718
mov dword [ebp - 0xe0], str.ISKEYPRESSED
mov dword [ebp - 0xdc], str.LOG10
mov dword [ebp - 0xd8], 0x4606f8
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], 0x4605a8
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], 0x460564
mov dword [ebp - 0x38], 0x46055c
mov dword [ebp - 0x34], str.LTRIMb
mov dword [ebp - 0x30], str.RTRIMc
mov dword [ebp - 0x2c], 0x460544
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, 0x45c970
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], 0x4604f4
mov dword [ebp - 4], str.MIDM
mov dword [ebp], str.SUBSTITUTEIy
mov dword [ebp + 4], str.SUBSTITUTEY
mov dword [ebp + 8], 0x4604cc
mov dword [ebp + 0xc], str.DATED
mov dword [ebp + 0x10], str.TIMEt
mov dword [ebp + 0x14], 0x4604b4
mov dword [ebp + 0x18], str.CHOOSEz
mov dword [ebp + 0x1c], 0x4604a0
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], eax
cmp esi, ebx
je 0x41a405
cmp byte [esi], bl
je 0x41a405
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 0x41a3d0
mov byte [eax], 0
push 0x460490
push esi
call fcn.00449b60
pop ecx
pop ecx
test eax, eax
jne 0x41a41f
cmp dword [ebp + 0x30], eax
je 0x41a405
push esi
call ebx
lea ecx, [eax + 1]
mov eax, dword [ebp + 0xbdc4]
cmp eax, ecx
jb 0x41a3fa
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.00448080
add ebp, 0xbdb4
leave
ret
lea ecx, [edi + 0x1000]
mov eax, 0x1000
cmp ecx, eax
jle 0x41a430
mov eax, ecx
push 1
push eax
call fcn.00447e84
mov edi, eax
pop ecx
pop ecx
mov dword [ebp + 0x44], edi
test edi, edi
je 0x41a405
push esi
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push edi
call fcn.00415461
cmp byte [edi], 0
pop ecx
mov esi, edi
je 0x41a57b
mov al, byte [esi]
cmp al, 0x22
je 0x41a46b
cmp al, 0x27
je 0x41a46b
cmp al, 2
jne 0x41a476
cmp byte [ebp + 0x7f], 0
jne 0x41a47c
mov byte [ebp + 0x7f], al
jmp 0x41a485
cmp byte [ebp + 0x7f], 0
je 0x41a485
cmp al, byte [ebp + 0x7f]
jne 0x41a485
mov byte [ebp + 0x7f], 0
and dword [ebp + 0x70], 0
cmp byte [ebp + 0x7f], 0
jne 0x41a56e
mov eax, dword [ebp + 0x70]
mov eax, dword [ebp + eax*4 - 0x170]
mov al, byte [eax]
test al, al
je 0x41a56e
cmp al, 0x2d
jne 0x41a4bf
cmp byte [esi], al
jne 0x41a4bf
cmp byte [esi + 1], al
jne 0x41a4bf
mov al, byte [esi + 2]
cmp al, 0x30
jl 0x41a4bf
cmp al, 0x39
jle 0x41a52b
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 0x41a4f3
lea eax, [edi - 1]
push eax
mov eax, dword [ebp + 0x70]
push dword [ebp + eax*4 - 0x170]
push esi
call fcn.0044802d
add esp, 0xc
jmp 0x41a4f6
xor eax, eax
inc eax
test eax, eax
jne 0x41a52b
mov eax, dword [ebp + 0x70]
mov eax, dword [ebp + eax*4 - 0x170]
mov al, byte [eax + edi - 1]
cmp al, 0x41
jl 0x41a510
cmp al, 0x5a
jle 0x41a524
cmp al, 0x61
jl 0x41a518
cmp al, 0x7a
jle 0x41a524
cmp al, 0x3f
je 0x41a524
cmp al, 0x82
jb 0x41a533
cmp al, 0xfd
ja 0x41a533
cmp byte [edi + esi - 1], 0x28
je 0x41a533
inc dword [ebp + 0x70]
jmp 0x41a493
lea eax, [edi + esi - 2]
test eax, eax
je 0x41a55e
lea eax, [edi + esi - 2]
push eax
call ebx
inc eax
test eax, eax
jle 0x41a55e
lea eax, [edi + esi - 2]
push eax
call ebx
inc eax
push eax
lea eax, [edi + esi - 2]
push eax
push esi
call fcn.00448130
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 0x41a45d
mov edi, dword [ebp + 0x44]
mov esi, dword [ebp + 0x44]
cmp byte [esi], 0
je 0x41a639
mov al, byte [edi]
cmp al, 0x20
je 0x41a5f1
cmp al, 9
je 0x41a5f1
cmp al, 0xd
je 0x41a5f1
cmp al, 0xa
je 0x41a5f1
cmp al, 0x5f
je 0x41a5f1
cmp al, 0x22
je 0x41a5a9
cmp al, 0x27
je 0x41a5a9
cmp al, 2
jne 0x41a5b4
cmp byte [ebp + 0x7f], 0
jne 0x41a5b4
mov byte [ebp + 0x7f], al
jmp 0x41a60c
cmp al, 0x41
jl 0x41a5bc
cmp al, 0x5a
jle 0x41a5c4
cmp al, 0x61
jl 0x41a5d6
cmp al, 0x7a
jg 0x41a5d6
cmp byte [edi + 1], 0x28
je 0x41a5d6
cmp byte [ebp + 0x7f], 0
jne 0x41a5dc
mov byte [ebp + 0x7f], 0x2c
jmp 0x41a60c
cmp byte [ebp + 0x7f], 0
je 0x41a60c
cmp al, byte [ebp + 0x7f]
je 0x41a5eb
cmp byte [ebp + 0x7f], 0x2c
jne 0x41a60c
cmp al, 0x29
jne 0x41a60c
mov byte [ebp + 0x7f], 0
jmp 0x41a60c
cmp byte [ebp + 0x7f], 0
je 0x41a60f
cmp byte [ebp + 0x7f], 0x2c
jne 0x41a60c
mov al, byte [edi + 1]
cmp al, 0x20
je 0x41a60f
cmp al, 0x2c
je 0x41a60f
cmp al, 0x29
je 0x41a60f
inc edi
jmp 0x41a62d
lea esi, [edi + 1]
test esi, esi
je 0x41a62d
push esi
call ebx
inc eax
test eax, eax
jle 0x41a62d
push esi
call ebx
inc eax
push eax
push esi
push edi
call fcn.00448130
add esp, 0xc
cmp byte [edi], 0
jne 0x41a587
mov esi, dword [ebp + 0x44]
cmp byte [esi], 0x3d
jne 0x41a65a
inc esi
je 0x41a65a
push esi
call ebx
inc eax
test eax, eax
jle 0x41a65a
push esi
call ebx
inc eax
push eax
push esi
push dword [ebp + 0x44]
call fcn.00448130
add esp, 0xc
push dword [ebp + 0x44]
call ebx
mov esi, dword [ebp + 0x44]
cmp byte [eax + esi - 1], 0x3b
jne 0x41a671
push esi
call ebx
mov byte [eax + esi - 1], 0
mov edi, 0x46048c
push edi
call ebx
push 0x45c970
mov dword [ebp + 0x48], eax
call ebx
push edi
push dword [ebp + 0x44]
mov dword [ebp + 0x6c], eax
call fcn.00447a30
pop ecx
pop ecx
mov esi, eax
jmp 0x41a6d0
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.00448130
push dword [ebp + 0x6c]
push 0x45c970
push esi
call fcn.00447af0
add esp, 0x18
test ebx, ebx
je 0x41a6ce
push edi
push ebx
jmp 0x41a68a
xor esi, esi
test esi, esi
jne 0x41a695
mov edi, dword [ebp + 0x44]
xor eax, eax
xor dl, dl
cmp byte [edi], al
je 0x41a752
cmp eax, dword [ebp + 0x80]
jge 0x41a752
mov cl, byte [eax + edi]
test dl, dl
jne 0x41a701
cmp cl, 0x22
je 0x41a6fd
cmp cl, 0x27
je 0x41a6fd
cmp cl, 2
jne 0x41a70b
mov dl, cl
jmp 0x41a707
cmp cl, dl
jne 0x41a707
xor dl, dl
test dl, dl
jne 0x41a74b
cmp cl, 0x2d
jne 0x41a71d
cmp byte [eax + edi + 1], cl
jne 0x41a71d
mov byte [eax + edi + 1], 0x5f
jmp 0x41a74b
test dl, dl
jne 0x41a74b
cmp cl, 0x2d
jne 0x41a74b
test eax, eax
je 0x41a747
mov cl, byte [edi + eax - 1]
cmp cl, 0x30
jl 0x41a738
cmp cl, 0x39
jle 0x41a74b
cmp cl, 0x2e
je 0x41a74b
cmp cl, 0x29
je 0x41a74b
cmp cl, 0x23
je 0x41a74b
mov byte [eax + edi], 0x5f
inc eax
cmp byte [eax + edi], 0
jne 0x41a6df
push 0x45e188
push edi
call fcn.00449d20
pop ecx
pop ecx
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jl 0x41a785
push edi
call fcn.00449d0b
pop ecx
push edi
fstp qword [ebp + 0x74]
call fcn.00447ab6
fld qword [ebp + 0x74]
pop ecx
jmp 0x41a407
xor ebx, ebx
mov dword [ebp + 0x64], ebx
mov al, byte [edi]
test al, al
je 0x41aafb
cmp dword [ebp + 0x68], 0x80
jge 0x41aafb
cmp al, 0x41
jl 0x41a7a9
cmp al, 0x5a
jle 0x41a7cd
cmp al, 0x61
jl 0x41a7b1
cmp al, 0x7a
jle 0x41a7cd
cmp al, 0x30
jl 0x41a7b9
cmp al, 0x39
jle 0x41a7cd
cmp al, 0x2e
je 0x41a7cd
cmp al, 0x22
je 0x41a7cd
cmp al, 0x27
je 0x41a7cd
cmp al, 2
jne 0x41a974
lea ecx, [edi + 1]
cmp byte [ecx], 0x28
mov dword [ebp + 0x80], ecx
je 0x41a974
xor ecx, ecx
mov al, byte [ecx + edi]
test al, al
je 0x41a829
cmp al, 0x41
jl 0x41a7f0
cmp al, 0x5a
jle 0x41a820
cmp al, 0x61
jl 0x41a7f8
cmp al, 0x7a
jle 0x41a820
cmp al, 0x30
jl 0x41a800
cmp al, 0x39
jle 0x41a820
cmp al, 0x2e
je 0x41a820
cmp al, 0x22
je 0x41a820
cmp al, 0x27
je 0x41a820
cmp al, 2
je 0x41a820
cmp al, 0x20
je 0x41a820
cmp al, 9
je 0x41a820
cmp al, 0xd
je 0x41a820
cmp al, 0xa
jne 0x41a829
inc ecx
cmp ecx, 0x1000
jl 0x41a7e1
lea eax, [ecx + 1]
mov ecx, 0x1ffe
cmp eax, ecx
jle 0x41a837
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.00449d20
pop ecx
mov ebx, eax
pop ecx
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp ebx, eax
jb 0x41a8cf
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 0x20
jge 0x41a8cf
mov al, byte [edi]
cmp al, 0x30
jl 0x41a88e
cmp al, 0x39
jle 0x41a892
cmp al, 0x2e
jne 0x41a8a2
cmp esi, 0x20
jge 0x41a8a2
mov byte [ebp + esi + 0xbd70], al
inc esi
inc edi
jmp 0x41a884
mov byte [ebp + esi + 0xbd70], 0
mov esi, dword [ebp + 0x68]
lea eax, [ebp + 0xbd70]
imul esi, esi, 0x18
push eax
call fcn.00449d0b
mov al, byte [ebp + 0xbd70]
pop ecx
mov byte [ebp + esi + 0x128], al
jmp 0x41a962
mov al, byte [edi]
cmp al, 0x22
je 0x41a8dd
cmp al, 0x27
je 0x41a8dd
cmp al, 2
jne 0x41a8e6
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 0x41a920
movsx ebx, byte [ebp + 0x7f]
push ebx
push edi
call fcn.00447970
pop ecx
pop ecx
test eax, eax
je 0x41a917
push ebx
push edi
call fcn.00447970
pop ecx
pop ecx
sub eax, edi
jmp 0x41a938
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
jmp 0x41a938
mov cl, byte [edi]
xor eax, eax
jmp 0x41a934
cmp cl, 0x2c
je 0x41a938
cmp cl, 0x29
je 0x41a938
inc eax
mov cl, byte [eax + edi]
test cl, cl
jne 0x41a926
mov dword [ebp + esi + 0x13c], eax
cmp eax, 0x1000
jae 0x41ab7d
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 0x41aaf3
cmp al, 0x2c
jne 0x41a9bc
test ebx, ebx
jle 0x41aaeb
mov ecx, dword [ebp + 0x68]
imul ecx, ecx, 0x18
lea ecx, [ebp + ecx + 0x128]
cmp byte [ebp + ebx + 0x97], 0x28
je 0x41aae9
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 0x41a98d
jmp 0x41aae9
movsx eax, al
push eax
push str.__________:
call fcn.00447970
pop ecx
pop ecx
test eax, eax
jne 0x41aa38
mov al, byte [edi]
cmp al, 0x28
je 0x41aa38
cmp al, 0x29
jne 0x41aae9
dec ebx
mov dword [ebp + 0x64], ebx
js 0x41aaed
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 0x41aa18
cmp cl, 0x28
je 0x41aa18
inc dword [ebp + 0x68]
mov byte [edx], cl
add edx, 0x18
dec ebx
mov byte [eax], 0
mov dword [ebp + 0x64], ebx
jns 0x41a9f5
test ebx, ebx
js 0x41aaed
lea eax, [ebp + ebx + 0x98]
cmp byte [eax], 0x28
jne 0x41aae9
mov byte [eax], 0
jmp 0x41aae9
test ebx, ebx
je 0x41aad1
mov cl, byte [edi]
cmp cl, 0x28
je 0x41aad1
test ebx, ebx
jle 0x41aac8
mov esi, dword [ebp + 0x68]
imul esi, esi, 0x18
lea esi, [ebp + esi + 0x128]
cmp cl, 0x5e
je 0x41aa92
cmp cl, 0x25
je 0x41aa92
cmp cl, 0x21
je 0x41aa88
movzx eax, byte [ebp + ebx + 0x97]
push eax
call fcn.004153be
push ecx
mov edx, eax
call fcn.004153be
add esp, 8
cmp eax, edx
jle 0x41aaaf
cmp cl, 0x25
je 0x41aa92
cmp cl, 0x21
jne 0x41aac8
movzx eax, byte [ebp + ebx + 0x97]
push eax
call fcn.004153be
push ecx
mov edx, eax
call fcn.004153be
add esp, 8
cmp eax, edx
jge 0x41aac8
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 0x41aa5c
mov byte [ebp + ebx + 0x98], cl
jmp 0x41aada
mov al, byte [edi]
mov byte [ebp + ebx + 0x98], al
lea eax, [ebx + 1]
push 0x3f
pop ebx
cmp eax, ebx
jg 0x41aaef
mov ebx, eax
mov dword [ebp + 0x64], ebx
test ebx, ebx
jns 0x41aaf2
xor ebx, ebx
mov dword [ebp + 0x64], ebx
inc edi
test edi, edi
jne 0x41a78a
dec ebx
js 0x41ab2a
mov ecx, dword [ebp + 0x68]
imul ecx, ecx, 0x18
lea ecx, [ebp + ecx + 0x128]
mov al, byte [ebp + ebx + 0x98]
test al, al
je 0x41ab2a
cmp dword [ebp + 0x68], 0x80
jge 0x41ab2a
inc dword [ebp + 0x68]
mov byte [ecx], al
add ecx, 0x18
dec ebx
jns 0x41ab0b
xor ebx, ebx
mov dword [ebp + 0x68], ebx
cmp byte [ebp + 0x128], bl
je 0x41de9e
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 0x41ab5e
cmp al, 0x39
jle 0x41ab62
cmp al, 0x2e
jne 0x41ab9b
cmp ebx, 9
jge 0x41ab9b
fld qword [ebp + ecx + 0x130]
mov eax, ebx
shl eax, 0xc
mov byte [ebp + eax + 0xd70], 0
jmp 0x41abd4
cmp dword [ebp + 0x30], 0
je 0x41ab91
push str.Parameter_too_big
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
fldz
mov edi, dword [ebp + 0x44]
jmp 0x41a773
cmp al, 0x20
jne 0x41abe1
cmp ebx, 9
jge 0x41abe1
mov eax, dword [ebp + ecx + 0x13c]
inc eax
mov edx, 0xfff
cmp eax, edx
jbe 0x41abb7
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 0x41b876
movsx edi, al
push edi
push str.__________:
mov dword [ebp + 0x48], edi
call fcn.00447970
pop ecx
pop ecx
test eax, eax
je 0x41b876
push edi
push str._______:
call fcn.00447970
pop ecx
pop ecx
test eax, eax
je 0x41ac12
push 2
pop edi
jmp 0x41ac52
push edi
push 0x4603c8
call fcn.00447970
pop ecx
pop ecx
test eax, eax
je 0x41ac27
push 3
jmp 0x41ac0f
push edi
push 0x4603c4
call fcn.00447970
pop ecx
pop ecx
test eax, eax
je 0x41ac3c
push 4
jmp 0x41ac0f
push dword [ebp + 0x48]
push 0x4603bc
call fcn.00447970
mov edi, eax
neg edi
pop ecx
sbb edi, edi
pop ecx
inc edi
mov dword [ebp + 0x3c], edi
cmp ebx, edi
jl 0x41ddfe
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.00448090
mov eax, dword [ebp + 0x48]
add esp, 0xc
cmp eax, 0x44
jg 0x41ca3a
je 0x41c9fa
cmp eax, 0xffffffef
jg 0x41b78b
je 0x41b76e
cmp eax, 0xffffffe1
jg 0x41afc5
je 0x41af98
cmp eax, 0xffffffba
jg 0x41ae57
je 0x41c3a5
cmp eax, 0xffffff83
je 0x41ae40
cmp eax, 0xffffffa1
je 0x41ae09
cmp eax, 0xffffffa2
je 0x41ad75
cmp eax, 0xffffffa3
je 0x41bc79
cmp eax, 0xffffffa5
je 0x41ad13
cmp eax, 0xffffffaa
jne case.0x41ca46.91
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
test eax, eax
jns 0x41b7e6
fadd qword [0x45e690]
jmp 0x41b7e6
push edi
call dword [sym.imp.USER32.dll_GetDC]
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx]
mov esi, eax
call fcn.00449ec0
fld qword [ebx - 8]
push eax
call fcn.00449ec0
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 0x41b7e9
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 0x41add0
cmp al, 0x20
je 0x41adad
cmp al, 0xd
je 0x41adad
cmp al, 0xa
je 0x41adad
cmp al, 9
jne 0x41add0
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.00448130
add esp, 0xc
jmp 0x41ad93
lea eax, [ebp + 0x9d70]
push eax
call esi
jmp 0x41adff
lea ecx, [ebp + eax + 0x9d70]
mov dl, byte [ecx]
cmp dl, 0x20
je 0x41adfc
cmp dl, 0xd
je 0x41adfc
cmp dl, 0xa
je 0x41adfc
cmp dl, 9
jne 0x41b7e9
mov byte [ecx], 0
dec eax
cmp eax, edi
jg 0x41addb
jmp 0x41b7e9
mov eax, ebx
shl eax, 0xc
cmp byte [ebp + eax + 0xd70], 0
jne 0x41ae31
fld qword [ebp + ebx*8 + 0xd28]
mov dword [ebp + 0x48], 1
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x41ae38
mov dword [ebp + 0x48], 2
fild dword [ebp + 0x48]
jmp 0x41b7e6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41ad00
cmp eax, 0xffffffbc
je 0x41af68
cmp eax, 0xffffffbd
je 0x41af38
cmp eax, 0xffffffbf
je 0x41aee5
cmp eax, 0xffffffc6
je 0x41aec3
cmp eax, 0xffffffc7
je 0x41aeab
cmp eax, 0xffffffe0
jne case.0x41ca46.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.0044b650
pop ecx
jmp 0x41b7e9
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.0044aac0
pop ecx
pop ecx
jmp 0x41b7e6
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
call fcn.004152c2
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ec0
cmp eax, 0x14
je 0x41af23
cmp eax, 0x90
je 0x41af23
cmp eax, 0x91
je 0x41af23
cmp eax, 1
je 0x41af1a
cmp eax, 2
je 0x41af1a
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
jmp 0x41af2a
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
jmp 0x41af15
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
and eax, 1
mov dword [ebp + 0x6c], eax
fild dword [ebp + 0x6c]
jmp 0x41b7e6
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
call fcn.00449ec0
fld qword [esi - 8]
push eax
call fcn.00449ec0
push eax
call fcn.00415ec8
pop ecx
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41b7e6
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
call fcn.00449ec0
fld qword [esi - 8]
push eax
call fcn.00449ec0
push eax
call fcn.00415ee4
pop ecx
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ef6
cmp eax, edi
je 0x41afba
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp + 0x48], 1
test eax, eax
jne 0x41afbd
mov dword [ebp + 0x48], edi
fild dword [ebp + 0x48]
jmp 0x41b7e6
add eax, 0x1e
cmp eax, 0xc
ja case.0x41ca46.91
jmp dword [eax*4 + 0x41df28]
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ef6
push eax
push 0x4603a8
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x41b7e9
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
call fcn.00415b68
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41ad00
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ec0
cmp eax, 0x3c
jne 0x41b049
mov ecx, esi
push 2
pop esi
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x54], 0x1d
jmp 0x41b0f3
lea ecx, [eax + 1]
jl 0x41b050
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 0x41b101
mov dword [ebp + 0x80], 0x1f
xor edi, edi
jmp 0x41b109
xor edi, edi
mov dword [ebp + 0x80], edi
cmp esi, 2
jle 0x41b14a
mov eax, ecx
and eax, 0x80000003
jns 0x41b11c
dec eax
or eax, 0xfffffffc
inc eax
jne 0x41b141
mov eax, ecx
push 0x64
cdq
pop ebx
idiv ebx
test edx, edx
jne 0x41b138
mov eax, ecx
cdq
mov ecx, 0x190
idiv ecx
test edx, edx
jne 0x41b141
mov dword [ebp + 0x6c], 0x1d
jmp 0x41b14d
mov dword [ebp + 0x6c], 0x1c
jmp 0x41b14d
mov dword [ebp + 0x6c], edi
mov dword [ebp + 0x38], 0x1f
cmp esi, 3
jg 0x41b15c
mov dword [ebp + 0x38], edi
mov dword [ebp + 0x40], 0x1e
cmp esi, 4
jg 0x41b16b
mov dword [ebp + 0x40], edi
mov dword [ebp + 0x70], 0x1f
cmp esi, 5
jg 0x41b17a
mov dword [ebp + 0x70], edi
mov dword [ebp + 0x48], 0x1e
cmp esi, 6
jg 0x41b189
mov dword [ebp + 0x48], edi
cmp esi, 7
jle 0x41b193
push 0x1f
pop ebx
jmp 0x41b195
xor ebx, ebx
cmp esi, 8
jle 0x41b19f
push 0x1f
pop edi
jmp 0x41b1a1
xor edi, edi
cmp esi, 9
jle 0x41b1ab
push 0x1e
pop edx
jmp 0x41b1ad
xor edx, edx
cmp esi, 0xa
jle 0x41b1b7
push 0x1f
pop ecx
jmp 0x41b1b9
xor ecx, ecx
cmp esi, 0xb
jle 0x41b1c3
push 0x1e
pop eax
jmp 0x41b1c5
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 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ec0
cmp eax, 0x3c
jne 0x41b21c
mov ecx, esi
mov dword [ebp + 0x50], 2
mov dword [ebp + 0x54], 0x1d
jmp 0x41b2c0
lea ecx, [eax + 1]
jl 0x41b223
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, 0x80000003
mov dword [ebp + 0x4c], ecx
jns 0x41b2d1
dec eax
or eax, 0xfffffffc
inc eax
jne 0x41b2f2
mov eax, ecx
push 0x64
cdq
pop esi
idiv esi
test edx, edx
jne 0x41b2ed
mov eax, ecx
cdq
mov ecx, 0x190
idiv ecx
test edx, edx
jne 0x41b2f2
xor eax, eax
inc eax
jmp 0x41b2f4
xor eax, eax
add eax, 0x16d
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ec0
cmp eax, 0x3c
jne 0x41b330
mov ecx, esi
mov dword [ebp + 0x50], 2
mov dword [ebp + 0x54], 0x1d
jmp 0x41b3d7
lea ecx, [eax + 1]
jl 0x41b337
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 0x41b3f2
mov dword [ebp + 0x80], edi
jmp 0x41b456
mov eax, dword [ebp + 0x50]
and eax, 9
cmp eax, 8
je 0x41b406
cmp eax, 1
je 0x41b406
xor esi, esi
jmp 0x41b409
xor esi, esi
inc esi
mov eax, ecx
and eax, 0x80000003
jns 0x41b417
dec eax
or eax, 0xfffffffc
inc eax
jne 0x41b433
mov eax, ecx
push 0x64
cdq
pop ebx
idiv ebx
test edx, edx
jne 0x41b43e
mov eax, ecx
cdq
mov ecx, 0x190
idiv ecx
test edx, edx
je 0x41b43e
cmp dword [ebp + 0x50], 2
jne 0x41b43e
xor eax, eax
inc eax
jmp 0x41b440
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 0x41b7e6
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
call fcn.00414f3c
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41ad00
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 0x41b7e9
cmp ecx, edi
je 0x41b4d9
mov al, byte [ebp + ecx + 0x9d6f]
cmp al, 0x61
jl 0x41b4bc
cmp al, 0x7a
jle 0x41b4c4
cmp al, 0x41
jl 0x41b4d9
cmp al, 0x5a
jg 0x41b4d9
lea edx, [ebp + ecx + 0x9d70]
mov al, byte [edx]
cmp al, 0x41
jl 0x41b4ee
cmp al, 0x5a
jg 0x41b4ee
add al, 0x20
jmp 0x41b4ec
lea edx, [ebp + ecx + 0x9d70]
mov al, byte [edx]
cmp al, 0x61
jl 0x41b4ee
cmp al, 0x7a
jg 0x41b4ee
sub al, 0x20
mov byte [edx], al
inc ecx
cmp byte [ebp + ecx + 0x9d70], 0
jne 0x41b4a9
jmp 0x41b7e9
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.00417eeb
push edi
lea eax, [ebp + 0x9d70]
push eax
push esi
call fcn.00416c8c
add esp, 0x1c
mov byte [esi], 0
jmp 0x41b7e9
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 0x41b7e9
shl ebx, 0xc
lea ebx, [ebp + ebx + 0xd70]
jmp 0x41b5d4
fld qword [esi]
fld qword [0x4603a0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x41b5a4
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 0x41b5d9
push ebx
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [ebx], 0
jne 0x41b58d
fld qword [esi]
call fcn.00449ec0
mov ecx, 0xfff
cmp eax, ecx
jg 0x41b5eb
mov ecx, eax
mov byte [ebp + ecx + 0x9d70], 0
jmp 0x41b7e9
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 0x41b7e9
cmp esi, edi
je 0x41b634
lea eax, [ebp + 0x9d70]
push esi
push eax
call fcn.00447a30
pop ecx
pop ecx
jmp 0x41b636
xor eax, eax
cmp eax, edi
je 0x41b7e9
cmp esi, edi
je 0x41b653
lea eax, [ebp + 0x9d70]
push esi
push eax
call fcn.00447a30
pop ecx
pop ecx
jmp 0x41b655
xor eax, eax
mov byte [eax], 0
jmp 0x41b7e9
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.00449ec0
lea esi, [eax - 1]
cmp esi, edi
jge 0x41b68d
xor esi, esi
fld qword [ebp + ebx*8 + 0xd20]
mov dword [ebp + 0x4c], esi
call fcn.00449ec0
cmp eax, edi
jge 0x41b6a2
xor eax, eax
mov dword [ebp + 0x50], eax
mov ecx, 0xfff
add eax, esi
mov dword [ebp + 0x54], ecx
cmp eax, ecx
jg 0x41b6b6
mov dword [ebp + 0x54], eax
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jle 0x41b6dd
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
lea eax, [ebp + 0x9d70]
jmp 0x41c399
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.00448130
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.00448130
add esp, 0xc
lea eax, [ebp + 0x9d70]
push eax
call ebx
cmp esi, eax
jl 0x41b753
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.00447af0
jmp 0x41aff7
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ec0
and eax, 1
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41b7e6
cmp eax, 0x2a
jg 0x41c4b3
je 0x41c4a2
cmp eax, 0xfffffffb
jg 0x41c25b
je 0x41beae
cmp eax, 0xfffffff1
je 0x41bc79
cmp eax, 0xfffffff2
je 0x41b925
cmp eax, 0xfffffff3
je 0x41bc79
cmp eax, 0xfffffff4
je 0x41b8e2
cmp eax, 0xfffffff6
je 0x41b8c0
cmp eax, 0xfffffffa
je 0x41bc79
fld qword [ebp + ebx*8 + 0xd28]
fstp qword [ebp + 0x74]
cmp dword [ebp + 0x3c], 0
mov esi, dword [ebp + 0x64]
jle 0x41b81d
mov eax, esi
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
test esi, esi
js 0x41b81d
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 0x41b7fe
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 0x41b84c
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 0x41b8a7
mov eax, dword [ebp + 0x68]
imul eax, eax, 0x18
mov al, byte [ebp + eax + 0x128]
cmp al, 0x30
jl 0x41b897
cmp al, 0x39
jle 0x41de8c
cmp al, 0x2e
je 0x41de8c
cmp al, 0x20
je 0x41de8c
mov eax, dword [ebp + 0x68]
imul eax, eax, 0x18
cmp byte [ebp + eax + 0x128], 0
jne 0x41ab40
jmp 0x41de9e
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 0x41ad00
shl ebx, 0xc
lea esi, [ebp + ebx + 0xd70]
cmp esi, edi
je 0x41b914
cmp byte [esi], 0
je 0x41b914
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push esi
call ebx
test al, 0x10
je 0x41b914
push esi
call ebx
mov dword [ebp + 0x80], 1
cmp eax, 0xffffffff
jne 0x41b91a
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41b7e6
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd71]
cmp byte [eax], 0x3a
mov dword [ebp + 0x38], eax
jne 0x41b95f
mov byte [eax], 0xb2
lea edi, [ebp + ebx + 0xd70]
mov dword [ebp + 0x70], edi
test edi, edi
je 0x41ba75
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41b9b1
cmp cl, 0x3a
jne 0x41b95c
mov byte [eax], 0x20
inc eax
jmp 0x41b94e
lea esi, [ebp + ebx + 0xd70]
cmp esi, edi
je 0x41b97c
push 2
push 0x45e494
push esi
call fcn.00449ba0
add esp, 0xc
jmp 0x41b97f
xor eax, eax
inc eax
cmp eax, edi
je 0x41b93a
cmp esi, edi
je 0x41b93a
mov eax, esi
mov cl, byte [eax]
test cl, cl
je 0x41b99a
cmp cl, 0x5c
jne 0x41b997
mov byte [eax], 0x20
inc eax
jmp 0x41b989
cmp esi, edi
je 0x41b93a
mov eax, esi
mov cl, byte [eax]
test cl, cl
je 0x41b93a
cmp cl, 0x2f
jne 0x41b9ae
mov byte [eax], 0x20
inc eax
jmp 0x41b9a0
test edi, edi
je 0x41ba75
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41b9cc
cmp cl, 0xb2
jne 0x41b9c9
mov byte [eax], 0x3a
inc eax
jmp 0x41b9bb
test edi, edi
je 0x41ba75
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41b9e7
cmp cl, 0x3e
jne 0x41b9e4
mov byte [eax], 0x20
inc eax
jmp 0x41b9d6
test edi, edi
je 0x41ba75
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ba02
cmp cl, 0x3c
jne 0x41b9ff
mov byte [eax], 0x20
inc eax
jmp 0x41b9f1
test edi, edi
je 0x41ba75
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ba19
cmp cl, 0x2a
jne 0x41ba16
mov byte [eax], 0x20
inc eax
jmp 0x41ba08
test edi, edi
je 0x41ba75
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ba30
cmp cl, 0x7c
jne 0x41ba2d
mov byte [eax], 0x20
inc eax
jmp 0x41ba1f
test edi, edi
je 0x41ba75
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ba47
cmp cl, 0xd
jne 0x41ba44
mov byte [eax], 0x20
inc eax
jmp 0x41ba36
test edi, edi
je 0x41ba75
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ba5e
cmp cl, 0xa
jne 0x41ba5b
mov byte [eax], 0x20
inc eax
jmp 0x41ba4d
test edi, edi
je 0x41ba75
mov eax, edi
mov cl, byte [eax]
test cl, cl
je 0x41ba75
cmp cl, 9
jne 0x41ba72
mov byte [eax], 0x20
inc eax
jmp 0x41ba64
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, 0x460398
push ebx
call esi
push str.__r_n
mov dword [ebp + 0x40], eax
call esi
mov dword [ebp + 0x80], eax
test edi, edi
je 0x41bae2
push ebx
jmp 0x41bad6
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.00448130
push dword [ebp + 0x80]
push str.__r_n
push esi
call fcn.00447af0
add esp, 0x18
test edi, edi
je 0x41bae2
push 0x460398
push edi
call fcn.00447a30
pop ecx
pop ecx
mov esi, eax
jmp 0x41bae4
xor esi, esi
test esi, esi
jne 0x41ba9a
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, 0x460394
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 0x41bb5a
push edi
push dword [ebp + 0x70]
jmp 0x41bb4f
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.00448130
push dword [ebp + 0x80]
push str.__r_n
push esi
call fcn.00447af0
add esp, 0x18
test edi, edi
je 0x41bb5a
push 0x460394
push edi
call fcn.00447a30
pop ecx
pop ecx
mov esi, eax
jmp 0x41bb5c
xor esi, esi
test esi, esi
jne 0x41bb12
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, 0x45cbfc
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 0x41bbd2
push edi
push dword [ebp + 0x70]
jmp 0x41bbc7
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.00448130
push dword [ebp + 0x80]
push str.__r_n
push esi
call fcn.00447af0
add esp, 0x18
test edi, edi
je 0x41bbd2
push 0x45cbfc
push edi
call fcn.00447a30
pop ecx
pop ecx
mov esi, eax
jmp 0x41bbd4
xor esi, esi
test esi, esi
jne 0x41bb8a
mov esi, dword [ebp + 0x70]
test esi, esi
je 0x41bc3d
mov edi, esi
mov al, byte [edi]
test al, al
je 0x41bc0a
cmp al, 0x3f
je 0x41bbf2
cmp al, 0x22
je 0x41bbf2
inc edi
jmp 0x41bbe1
lea ebx, [edi + 1]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push ebx
push edi
call fcn.00448130
add esp, 0xc
jmp 0x41bbe1
test esi, esi
je 0x41bc3d
mov al, byte [esi]
test al, al
je 0x41bc3d
cmp al, 0x20
je 0x41bc24
cmp al, 9
je 0x41bc24
cmp al, 0xd
je 0x41bc24
cmp al, 0xa
jne 0x41bc3d
push dword [ebp + 0x38]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [ebp + 0x38]
push esi
call fcn.00448130
add esp, 0xc
jmp 0x41bc0e
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
jmp 0x41bc61
mov cl, byte [esi + eax]
cmp cl, 0x20
je 0x41bc5d
cmp cl, 9
je 0x41bc5d
cmp cl, 0xd
je 0x41bc5d
cmp cl, 0xa
jne 0x41bc66
mov byte [esi + eax], 0
dec eax
test eax, eax
jg 0x41bc46
push esi
lea eax, [ebp + 0x9d70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x41b7e9
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 0x41bd3b
cmp al, 0x3f
jne 0x41bc9f
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 0x41bc94
cmp dword [ebp + 0x50], edi
je 0x41bd3b
lea ecx, [ebp + ebx*8 + 0xd28]
fld qword [ecx]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41bcf0
fld qword [ecx]
call fcn.00449ef6
push eax
lea eax, [ebp + 0x9d70]
push 0x45cb14
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x41bd08
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.00448130
mov al, byte [ebp + 0x7f]
add esp, 0xc
mov byte [ebp + 0x9d70], al
jmp 0x41b7e9
mov al, byte [ebp + 0x7f]
cmp al, 0xfa
jne 0x41bd6b
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ef6
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 0x41b7e9
cmp al, 0xf3
jne 0x41be05
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ef6
mov esi, eax
cmp esi, edi
je 0x41bdf4
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41bddb
push esi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x41bda4
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 0x41bdf4
push esi
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp + 0x80], 1
test eax, eax
jne 0x41bdfa
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41b7e6
cmp al, 0xa3
jne 0x41be54
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ef6
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 0x41b7e9
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41b7e9
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x41b7e9
cmp al, 0xf1
jne 0x41b7e9
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.00448130
add esp, 0xc
mov byte [esi], 0x22
test esi, esi
je 0x41be96
push 0x45ddf8
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push esi
call fcn.00415135
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41b7e6
shl ebx, 0xc
lea esi, [ebp + ebx + 0xd70]
push 0x460390
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41bef0
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 0x41b7e6
push str.maxcolor
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41bf52
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 0x41bf27
push 0x18
pop eax
jmp 0x41bf31
push 0xc
call ebx
push eax
call esi
push eax
call edi
push 2
pop ecx
cmp eax, 1
jle 0x41bf3f
dec eax
add ecx, ecx
dec eax
jne 0x41bf3a
mov dword [ebp + 0x80], ecx
fild dword [ebp + 0x80]
test ecx, ecx
jmp 0x41ad02
push str.directory
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41bfa7
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 0x41bf9d
lea ecx, [ebp + eax + 0x9d70]
mov dl, byte [ecx]
cmp dl, 0x5c
je 0x41bf9a
test dl, dl
jne 0x41b7e9
mov byte [ecx], 0
dec eax
cmp eax, edi
jg 0x41bf84
jmp 0x41b7e9
push 0x460370
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41bfd1
push 0x50
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41b7e6
push str.osname
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41c0be
mov esi, dword [sym.imp.KERNEL32.dll_GetVersion]
call esi
cmp al, 5
jne 0x41c005
call esi
shr eax, 8
cmp al, 1
jne 0x41c005
mov eax, str.Windows_XP
jmp 0x41c0b8
call fcn.0041505a
test eax, eax
je 0x41c018
mov eax, str.Windows_Server_2008
jmp 0x41c0b8
call esi
cmp al, 6
jne 0x41c031
call esi
shr eax, 8
test al, al
jne 0x41c031
mov eax, str.Windows_Vista
jmp 0x41c0b8
call esi
cmp al, 6
jne 0x41c047
call esi
shr eax, 8
cmp al, 1
jne 0x41c047
mov eax, str.Windows_7
jmp 0x41c0b8
call esi
cmp al, 5
jne 0x41c05d
call esi
shr eax, 8
cmp al, 2
jne 0x41c05d
mov eax, str.Windows_2003
jmp 0x41c0b8
call esi
cmp al, 5
jne 0x41c073
call esi
shr eax, 8
test al, al
jne 0x41c073
mov eax, str.Windows_2000
jmp 0x41c0b8
call esi
cmp al, 4
jne 0x41c089
call esi
shr eax, 8
cmp al, 0x5a
jne 0x41c089
mov eax, str.Windows_ME
jmp 0x41c0b8
call esi
cmp al, 4
jne 0x41c09f
call esi
shr eax, 8
cmp al, 0xa
jne 0x41c09f
mov eax, str.Windows_98
jmp 0x41c0b8
call esi
cmp al, 4
jne 0x41c0b3
call esi
shr eax, 8
test al, al
mov eax, str.Windows_NT
je 0x41c0b8
mov eax, str.Unknown
push eax
jmp 0x41bc67
push str.osversionex
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41c117
push 0x90
lea eax, [ebp + 0x88]
push edi
push eax
call fcn.00448090
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 0x41ad60
push str.osversion
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41c154
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 0x41d733
push str.memavail
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x41c245
push 0x4602a0
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x41c245
push str.totmem
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x41c22f
push str.memtot
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x41c22f
push str.memused
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41c1d8
call fcn.004150bd
mov esi, eax
call fcn.004150f9
sub esi, eax
mov dword [ebp + 0x80], esi
fild dword [ebp + 0x80]
jmp 0x41ad02
push str.screenx
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41c201
push edi
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41b7e6
push 0x460278
push esi
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x41b7e9
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41b7e6
call fcn.004150f9
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41ad00
call fcn.004150bd
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41ad00
cmp eax, 0xfffffffc
je 0x41c48c
cmp eax, 0x21
je 0x41c45f
cmp eax, 0x23
je 0x41c44d
cmp eax, 0x24
je 0x41c3df
cmp eax, 0x25
je 0x41c3a5
cmp eax, 0x26
jne case.0x41ca46.91
mov eax, ebx
shl eax, 0xc
lea esi, [ebp + eax + 0xd70]
cmp byte [esi], 0
jne 0x41c2d6
cmp byte [esi - 0x1000], 0
jne 0x41c31b
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi - 8]
call fcn.00449ec0
fld qword [esi]
mov edi, eax
call fcn.00449ec0
and edi, eax
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41b7e6
cmp byte [esi - 0x1000], 0
jne 0x41c31b
lea edi, [ebp + ebx*8 + 0xd20]
fld qword [edi]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41c31b
push 0x22
push dword [ebp + 0x44]
call fcn.00447970
pop ecx
pop ecx
test eax, eax
je 0x41c31b
fld qword [edi]
push 0xf
push ecx
push ecx
lea eax, [esi - 0x1000]
fstp qword [esp]
push eax
call fcn.00417eeb
add esp, 0x10
cmp byte [esi], 0
jne 0x41c356
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41c356
push 0x22
push dword [ebp + 0x44]
call fcn.00447970
pop ecx
pop ecx
test eax, eax
je 0x41c356
fld qword [ebx]
push 0xf
push ecx
push ecx
fstp qword [esp]
push esi
call fcn.00417eeb
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 0x41b7e9
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 0x41b7e9
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 0x41b7e6
fstp st(0)
sub esp, 0x10
fld qword [ecx]
fstp qword [esp + 8]
fld qword [ecx - 8]
fstp qword [esp]
call fcn.0044b620
add esp, 0x10
jmp 0x41b7e6
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
cmp byte [eax], 0
jne 0x41c429
cmp byte [eax - 0x1000], 0
jne 0x41c429
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 0x41c41e
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41b7e6
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 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
fadd qword [0x45fe58]
jmp 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
mov dword [ebp + 0x80], 1
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41c481
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.0044b4d0
jmp 0x41aebc
lea eax, [ebp + ebx*8 + 0xd28]
fld qword [eax - 8]
fmul qword [eax]
jmp 0x41b7e6
cmp eax, 0x3d
jg 0x41c697
je 0x41c62a
sub eax, 0x2b
je 0x41c619
dec eax
dec eax
je 0x41c608
dec eax
dec eax
je 0x41c5e0
sub eax, 0xb
je 0x41c59d
dec eax
je 0x41c55a
dec eax
jne case.0x41ca46.91
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
cmp byte [eax], 0
jne 0x41c536
cmp byte [eax - 0x1000], 0
jne 0x41c536
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx]
mov dword [ebp + 0x80], 1
fcomp qword [ebx - 8]
fnstsw ax
test ah, 0x41
je 0x41c52b
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41b7e6
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 0x41b7e6
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 0x41c58a
fld qword [ebx]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41c58c
mov dword [ebp + 0x80], 1
jmp 0x41c592
fstp st(0)
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41b7e6
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 0x41c5c9
fld qword [ebx]
fucompp
fnstsw ax
test ah, 0x44
jp 0x41c5cb
mov dword [ebp + 0x80], edi
jmp 0x41c5d5
fstp st(0)
mov dword [ebp + 0x80], 1
fild dword [ebp + 0x80]
jmp 0x41b7e6
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 0x41b7e6
fstp st(0)
fld qword [ecx - 8]
fdiv qword [ecx]
jmp 0x41b7e6
lea eax, [ebp + ebx*8 + 0xd28]
fld qword [eax - 8]
fsub qword [eax]
jmp 0x41b7e6
lea eax, [ebp + ebx*8 + 0xd28]
fld qword [eax - 8]
fadd qword [eax]
jmp 0x41b7e6
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
cmp byte [eax], 0
jne 0x41c674
cmp byte [eax - 0x1000], 0
jne 0x41c674
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 0x41c669
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41b7e6
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 0x41b7e6
sub eax, 0x3e
je 0x41c98e
dec eax
je 0x41c6fc
dec eax
dec eax
je 0x41c6dd
dec eax
je 0x41c6c7
dec eax
jne case.0x41ca46.91
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.00449f70
jmp 0x41aebc
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.0044b3b0
jmp 0x41aebc
fldz
lea ecx, [ebp + ebx*8 + 0xd28]
fcomp qword [ecx]
fnstsw ax
fld qword [ecx]
test ah, 0x41
jne 0x41b7e6
fchs
jmp 0x41b7e6
lea ecx, [ebx - 2]
shl ecx, 0xc
cmp byte [ebp + ecx + 0xd70], 0
jne 0x41c75e
fld qword [ebp + ebx*8 + 0xd18]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x41c75e
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
cmp byte [eax], 0
je 0x41c755
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 0x41c792
fadd qword [0x45e690]
jmp 0x41c792
fld qword [ebp + ebx*8 + 0xd28]
jmp 0x41c792
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax - 0x290]
cmp byte [eax], 0
je 0x41c78b
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 0x41c749
fld qword [ebp + ebx*8 + 0xd20]
mov al, byte [ebp + 0x9d70]
fstp qword [ebp + 0x74]
cmp al, 0xfa
je 0x41c825
cmp al, 0xf3
je 0x41c83e
cmp al, 0xa3
je 0x41c7bf
cmp al, 0xf1
jne 0x41b7e9
cmp al, 0xa3
jne 0x41c949
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 0x41c982
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41c982
lea eax, [ebp + 0x9d71]
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x41c982
push edi
push str.__r_n
lea eax, [ebp + 0x9d71]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x41c982
lea eax, [ebp + 0x9d71]
push eax
call fcn.0040109c
pop ecx
cmp eax, edi
je 0x41c915
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41c915
lea eax, [ebp + 0x9d71]
push eax
call fcn.0040109c
pop ecx
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x41c890
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 0x41c93b
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp + 0x80], 1
test eax, eax
jne 0x41c941
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41c97f
cmp al, 0xf1
jne 0x41c982
push 0x45ddf8
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.00415135
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
fstp qword [ebp + 0x74]
mov byte [ebp + 0x9d70], 0
jmp 0x41b7e9
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
cmp byte [eax], 0
jne 0x41c9d6
cmp byte [eax - 0x1000], 0
jne 0x41c9d6
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx]
mov dword [ebp + 0x80], 1
fcomp qword [ebx - 8]
fnstsw ax
test ah, 5
jnp 0x41c9cb
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41b7e6
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 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ec0
fld qword [ebp + ebx*8 + 0xd20]
push eax
call fcn.00449ec0
fld qword [ebp + ebx*8 + 0xd18]
push eax
call fcn.00449ec0
push eax
call fcn.00414d25
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
add esp, 0xc
jmp 0x41b7e6
sub eax, 0x46
cmp eax, 0x38
ja case.0x41ca46.91
jmp dword [eax*4 + 0x41df5c]
fld qword [ebp + ebx*8 + 0xd28]
jmp 0x41c6f5
fld qword [ebp + ebx*8 + 0xd28]
fsub qword [0x45fe58]
jmp 0x41b7e6
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.0044b120
jmp 0x41c3d7
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi - 8]
call fcn.00449ec0
fld qword [esi]
mov edi, eax
call fcn.00449ec0
or edi, eax
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41b7e6
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi - 8]
call fcn.00449ec0
fld qword [esi]
mov edi, eax
call fcn.00449ec0
xor edi, eax
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41b7e6
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
cmp byte [eax], 0
jne 0x41cb29
cmp byte [eax - 0x1000], 0
jne 0x41cb29
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx]
mov dword [ebp + 0x80], 1
fcomp qword [ebx - 8]
fnstsw ax
test ah, 1
je 0x41cb1e
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41b7e6
push eax
add eax, 0xfffff000
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
cmp eax, 0xffffffff
je 0x41cb45
mov dword [ebp + 0x80], edi
cmp eax, edi
jne 0x41cb4f
mov dword [ebp + 0x80], 1
fild dword [ebp + 0x80]
jmp 0x41b7e6
mov eax, ebx
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
cmp byte [eax], 0
jne 0x41cba2
cmp byte [eax - 0x1000], 0
jne 0x41cba2
lea ebx, [ebp + ebx*8 + 0xd28]
fld qword [ebx]
mov dword [ebp + 0x80], 1
fcomp qword [ebx - 8]
fnstsw ax
test ah, 0x41
jnp 0x41cb97
mov dword [ebp + 0x80], edi
fild dword [ebp + 0x80]
jmp 0x41b7e6
push eax
add eax, 0xfffff000
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x41cbc0
mov dword [ebp + 0x80], edi
cmp eax, edi
jne 0x41cbc6
mov dword [ebp + 0x80], ecx
fild dword [ebp + 0x80]
jmp 0x41b7e6
lea ecx, [ebp + ebx*8 + 0xd28]
fld qword [ecx]
fcomp qword [ecx - 8]
fnstsw ax
test ah, 5
jp 0x41cbec
fld qword [ecx - 8]
jmp 0x41b7e6
fld qword [ecx]
jmp 0x41b7e6
lea ecx, [ebp + ebx*8 + 0xd28]
fld qword [ecx]
fcomp qword [ecx - 8]
fnstsw ax
test ah, 0x41
jne 0x41cbec
jmp 0x41cbe4
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
call fcn.00449ec0
fld qword [esi - 8]
movzx eax, ax
push eax
push ecx
push ecx
fstp qword [esp]
call fcn.00415d8b
add esp, 0xc
jmp 0x41b7e6
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
call fcn.00449ec0
fld qword [esi - 8]
movzx eax, ax
push eax
push ecx
push ecx
fstp qword [esp]
call fcn.00415e5d
jmp 0x41cc27
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.00417eeb
lea eax, [ebp + 0x9d70]
push 0x2e
push eax
call fcn.00447970
add esp, 0x18
test eax, eax
je 0x41cc93
lea eax, [ebp + 0x9d70]
push 0x2e
push eax
call fcn.00447970
pop ecx
pop ecx
jmp 0x41cc98
mov eax, 0x45c970
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 0x41ccba
or dword [ebp + 0x80], 0xffffffff
jmp 0x41ccc4
mov dword [ebp + 0x80], 1
lea eax, [ebp + 0x9d70]
push eax
call fcn.00449d0b
fimul dword [ebp + 0x80]
pop ecx
mov byte [ebp + 0x9d70], 0
jmp 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.0044a620
jmp 0x41aebc
fldz
lea ecx, [ebp + ebx*8 + 0xd28]
fcom qword [ecx]
fnstsw ax
test ah, 0x41
je 0x41b7e6
fstp st(0)
push ecx
fld qword [ecx]
push ecx
fstp qword [esp]
call fcn.0044b074
jmp 0x41aebc
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.0044af30
jmp 0x41aebc
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.0044ae00
jmp 0x41aebc
fld qword [ebp + ebx*8 + 0xd28]
push ecx
push ecx
fstp qword [esp]
call fcn.0044acd0
jmp 0x41aebc
fld qword [0x460270]
jmp 0x41b7e6
shl ebx, 0xc
lea esi, [ebp + ebx + 0xd70]
mov dword [ebp + 0x80], edi
cmp esi, edi
je 0x41cdd5
mov ecx, dword [ebp + 0x80]
mov al, byte [esi + ecx]
test al, al
je 0x41cdd5
cmp al, 0x30
jl 0x41cd98
cmp al, 0x39
jle 0x41cdc2
cmp al, 0x2d
je 0x41cdc2
cmp al, 0x2e
je 0x41cdc2
cmp ecx, edi
jne 0x41cdcb
lea edi, [ebp + ebx + 0xd71]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push edi
push esi
call fcn.00448130
add esp, 0xc
xor edi, edi
jmp 0x41cd83
inc ecx
mov dword [ebp + 0x80], ecx
jmp 0x41cd83
add ebx, ecx
mov byte [ebp + ebx + 0xd70], 0
push esi
call fcn.00449d0b
jmp 0x41aebd
fldz
lea ecx, [ebp + ebx*8 + 0xd28]
fcomp qword [ecx]
fnstsw ax
fld qword [ecx]
test ah, 0x41
je 0x41ccea
call fcn.00449ec0
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41b7e6
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 0x41b7e6
fstp st(0)
fld qword [ecx - 8]
fdiv qword [ecx]
call fcn.00449ec0
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41b7e6
lea eax, [ebp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x41ce5e
push dword [ebp + 0x28]
call fcn.00449ab1
pop ecx
call fcn.00449ac3
cmp byte [ebp + 0x7f], 0x5a
jne 0x41ce80
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fmul qword [0x460268]
jmp 0x41b7e6
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 0x41cea5
fstp st(0)
fldz
jmp 0x41cec5
fld qword [esi]
sub esp, 0x10
fsub qword [esi - 8]
fadd qword [0x45fe58]
fstp qword [esp + 8]
fstp qword [esp]
call fcn.0044b620
fadd qword [esi - 8]
add esp, 0x10
call fcn.00449ec0
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41b7e6
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.0041982a
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
call fcn.00414d25
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
add esp, 0x1c
jmp 0x41b7e6
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.00414d25
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.00414cda
add esp, 0x18
fadd qword [ebp + 0x74]
jmp 0x41b7e6
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.00414d25
mov dword [ebp + 0x80], eax
add esp, 0xc
fild dword [ebp + 0x80]
jmp 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ec0
cmp eax, 0x3c
jne 0x41cfdf
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x50], 2
mov dword [ebp + 0x54], 0x1d
jmp 0x41d084
lea ecx, [eax + 1]
jl 0x41cfe6
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 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ec0
cmp eax, 0x3c
jne 0x41d0b3
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x50], 2
mov dword [ebp + 0x54], 0x1d
jmp 0x41d158
lea ecx, [eax + 1]
jl 0x41d0ba
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 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ec0
cmp eax, 0x3c
jne 0x41d187
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x50], 2
mov dword [ebp + 0x54], 0x1d
jmp 0x41d22c
lea ecx, [eax + 1]
jl 0x41d18e
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 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ec0
cmp eax, 0x3c
jne 0x41d25a
mov ecx, esi
mov dword [ebp + 0x50], 2
mov dword [ebp + 0x54], 0x1d
jmp 0x41d2fc
lea ecx, [eax + 1]
jl 0x41d261
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.00416999
add esp, 0xc
inc eax
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ec0
fld qword [ebp + ebx*8 + 0xd20]
push eax
call fcn.00449ec0
fld qword [ebp + ebx*8 + 0xd18]
push eax
call fcn.00449ec0
push eax
call fcn.00414cda
jmp 0x41cc27
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
call fcn.00449ec0
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fsubr qword [esi]
fmul qword [0x45fba0]
fadd qword [0x45e330]
call fcn.00449ec0
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 0x41d084
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
call fcn.00449ec0
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fsubr qword [esi]
fmul qword [0x45fba0]
fadd qword [0x45e330]
call fcn.00449ec0
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 0x41d158
lea esi, [ebp + ebx*8 + 0xd28]
fld qword [esi]
call fcn.00449ec0
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
fsubr qword [esi]
fmul qword [0x45fba0]
fadd qword [0x45e330]
call fcn.00449ec0
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 0x41d22c
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.00416447
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
call fcn.00414cda
add esp, 0x1c
jmp 0x41b7e6
lea ecx, [ebp + ebx*8 + 0xd28]
fld qword [ecx]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41d4da
fld qword [ecx]
push 0xf
push ecx
push ecx
lea eax, [ebp + 0x9d70]
fstp qword [esp]
push eax
call fcn.00417eeb
jmp 0x41d733
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 0x41b7e9
cmp al, 0x61
jl 0x41d50e
cmp al, 0x7a
jg 0x41d50e
sub al, 0x20
mov byte [ecx], al
inc ecx
jmp 0x41d4f8
lea ecx, [ebp + ebx*8 + 0xd28]
fld qword [ecx]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x41d4c0
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 0x41b7e9
cmp al, 0x41
jl 0x41d559
cmp al, 0x5a
jg 0x41d559
add al, 0x20
mov byte [ecx], al
inc ecx
jmp 0x41d543
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 0x41b7e9
cmp byte [esi], 0
je 0x41b7e9
test ebx, ebx
je 0x41d598
push ebx
push esi
call fcn.00447a30
pop ecx
pop ecx
mov edi, eax
jmp 0x41d59a
xor edi, edi
mov eax, dword [ebp + 0x64]
fld qword [ebp + eax*8 + 0xd18]
fsub qword [0x45fe58]
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x41d5b9
fstp st(1)
jmp 0x41d5bb
fstp st(0)
fild dword [ebp + 0x6c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41d5e8
mov esi, edi
test edi, edi
je 0x41d5dc
cmp byte [edi], 0
je 0x41d5dc
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea esi, [edi + eax]
inc dword [ebp + 0x6c]
test esi, esi
jne 0x41d57e
jmp 0x41b7e9
test edi, edi
je 0x41d5f2
mov eax, edi
sub eax, esi
jmp 0x41d5f9
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
mov ecx, 0xfff
cmp eax, ecx
jle 0x41d607
mov eax, ecx
jmp 0x41d61a
test edi, edi
je 0x41d612
sub edi, esi
lea eax, [edi + 1]
jmp 0x41d61a
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 0x41b7e9
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ec0
movsx eax, al
push eax
push 0x460264
jmp 0x41afea
shl ebx, 0xc
movsx eax, byte [ebp + ebx + 0xd70]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41b7e6
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 0x41d718
lea eax, [ebx - 1]
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
mov dword [ebp + 0x48], eax
cmp eax, edi
je 0x41d6bb
push str.0123456789_.__t_r_n
push esi
call fcn.00449d20
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 0x41d6bd
xor eax, eax
cmp eax, edi
je 0x41d70a
mov dword [ebp + 0x6c], edi
cmp dword [ebp + 0x48], edi
je 0x41d70a
mov eax, dword [ebp + 0x6c]
lea edi, [eax + esi]
mov al, byte [edi]
test al, al
je 0x41d70a
cmp al, 0x2c
je 0x41d6de
inc dword [ebp + 0x6c]
jmp 0x41d6c9
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.00448130
add esp, 0xc
jmp 0x41d6c9
cmp byte [esi], 0
je 0x41d718
push esi
call fcn.00449d0b
pop ecx
jmp 0x41d71f
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.004180b4
add esp, 0x10
jmp 0x41b7e9
mov edi, ebx
shl edi, 0xc
lea esi, [ebp + edi + 0xd70]
test esi, esi
je 0x41d76d
lea eax, [ebx - 1]
shl eax, 0xc
lea eax, [ebp + eax + 0xd70]
test eax, eax
je 0x41d76d
lea eax, [esi - 0x1000]
push eax
push esi
call fcn.00447a30
pop ecx
pop ecx
jmp 0x41d76f
xor eax, eax
test eax, eax
je 0x41d7ac
test esi, esi
je 0x41d797
dec ebx
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
test eax, eax
je 0x41d797
lea eax, [esi - 0x1000]
push eax
push esi
call fcn.00447a30
pop ecx
pop ecx
jmp 0x41d799
xor eax, eax
sub eax, edi
lea ecx, [ebp + 0xd70]
sub eax, ecx
inc eax
mov dword [ebp + 0x80], eax
jmp 0x41d7b3
and dword [ebp + 0x80], 0
fild dword [ebp + 0x80]
jmp 0x41b7e6
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 0x41d7fb
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 0x41d802
and dword [ebp + 0x80], 0
fild dword [ebp + 0x80]
jmp 0x41b7e6
fld qword [ebp + ebx*8 + 0xd28]
call fcn.00449ec0
lea edi, [eax + 1]
test edi, edi
jns 0x41d824
xor eax, eax
jmp 0x41d848
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 0x41d846
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
jmp 0x41d848
mov eax, edi
shl ebx, 0xc
push eax
lea eax, [ebp + ebx - 0x290]
push eax
jmp 0x41d61c
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 0x41d8ac
cmp byte [ebp + 0x9d70], 0x20
jne 0x41d8ac
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.00448130
add esp, 0xc
jmp 0x41d877
lea eax, [ebp + 0x9d70]
push eax
call esi
jmp 0x41d8d0
lea ecx, [ebp + eax + 0x9d70]
mov dl, byte [ecx]
cmp dl, 0x20
je 0x41d8cd
test dl, dl
jne 0x41b7e9
mov byte [ecx], 0
dec eax
cmp eax, edi
jg 0x41d8b7
jmp 0x41b7e9
shl ebx, 0xc
lea eax, [ebp + ebx + 0xd70]
push eax
add eax, 0xfffff000
push eax
call fcn.00407bc7
pop ecx
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
pop ecx
jmp 0x41b7e6
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 0x41d981
cmp byte [esi], 0
je 0x41d981
test esi, esi
je 0x41d94f
push esi
call edi
push eax
lea eax, [ebp + 0x9d70]
push esi
push eax
call fcn.00449ba0
add esp, 0xc
jmp 0x41d952
xor eax, eax
inc eax
test eax, eax
jne 0x41d981
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.00448130
add esp, 0xc
jmp 0x41d927
push esi
call fcn.00414efc
pop ecx
test al, al
jne 0x41b7e9
and dword [ebp + 0x4c], 0
cmp byte [esi], al
je 0x41b7e9
xor ebx, ebx
mov dword [ebp + 0x50], ebx
cmp byte [esi], bl
je 0x41d9e1
mov al, byte [ebp + 0x9d70]
test al, al
je 0x41d9d7
cmp al, byte [esi + ebx]
jne 0x41d9d7
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.00448130
add esp, 0xc
jmp 0x41d9a5
inc ebx
cmp byte [esi + ebx], 0
jne 0x41d9a5
mov dword [ebp + 0x50], ebx
inc dword [ebp + 0x4c]
mov eax, dword [ebp + 0x4c]
cmp byte [esi + eax], 0
jne 0x41d99c
jmp 0x41b7e9
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 0x41b7e9
jmp 0x41da42
sub eax, edi
lea ebx, [ebp + eax + 0x9d70]
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x41b7e9
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 0x41da27
jmp 0x41b7e9
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.00449ec0
lea ebx, [eax + 1]
mov dword [ebp + 0x6c], eax
test ebx, ebx
jns 0x41da8d
xor eax, eax
jmp 0x41dacb
mov eax, dword [ebp + 0x70]
sub eax, dword [ebp + 0x6c]
mov dword [ebp + 0x80], eax
jns 0x41da9d
xor eax, eax
add eax, esi
lea eax, [ebp + eax - 0x290]
push eax
call edi
inc eax
cmp ebx, eax
jle 0x41dac9
mov eax, dword [ebp + 0x80]
test eax, eax
jns 0x41daba
xor eax, eax
add eax, esi
lea eax, [ebp + eax - 0x290]
push eax
call edi
inc eax
jmp 0x41dacb
mov eax, ebx
mov ecx, dword [ebp + 0x70]
sub ecx, dword [ebp + 0x6c]
jns 0x41dad5
xor ecx, ecx
add esi, ecx
push eax
lea eax, [ebp + esi - 0x290]
jmp 0x41d853
lea edi, [ebp + ebx*8 + 0xd28]
fld qword [edi - 8]
call fcn.00449ec0
dec eax
mov dword [ebp + 0x80], eax
jns 0x41db02
and dword [ebp + 0x4c], 0
jmp 0x41db32
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 0x41db2f
push dword [ebp + 0x6c]
call esi
mov dword [ebp + 0x4c], eax
jmp 0x41db32
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.00449ec0
mov dword [ebp + 0x6c], eax
test eax, eax
jns 0x41db5a
and dword [ebp + 0x50], 0
jmp 0x41db75
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push ebx
call edi
mov ecx, dword [ebp + 0x6c]
cmp ecx, eax
jle 0x41db72
push ebx
call edi
mov dword [ebp + 0x50], eax
jmp 0x41db75
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.00447af0
add esp, 0xc
mov byte [ebp + edi + 0x9d70], 0
jmp 0x41b7e9
mov eax, ebx
shl eax, 0xc
lea ecx, [ebp + eax + 0xd70]
cmp byte [ecx], 0
jne 0x41dc10
mov eax, dword [ebp + 0x68]
dec eax
cmp eax, edi
jge 0x41dbbb
xor eax, eax
imul eax, eax, 0x18
cmp byte [ebp + eax + 0x128], 0x20
je 0x41dc10
fld qword [ebp + ebx*8 + 0xd28]
push 0xf
push ecx
push ecx
lea eax, [ebp + 0x9d70]
fstp qword [esp]
push eax
call fcn.00417eeb
lea eax, [ebp + 0x9d70]
push edi
push eax
call fcn.00415cb1
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 0x41ccd7
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp + 0x80], eax
fild dword [ebp + 0x80]
jmp 0x41b7e6
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 [0x45e1a8]
fnstsw ax
test ah, 0x41
jne 0x41b7e9
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 0x41b7e9
mov eax, dword [ebp + 0x50]
inc eax
push eax
push edi
push ebx
call fcn.00447af0
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 0x41dc6f
jmp 0x41b7e9
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.00407bc7
imul eax, dword [ebp + 0x4c]
pop ecx
cmp eax, 0x1000
pop ecx
lea eax, [ebp + 0x9d70]
jle 0x41dcfe
push str.Expression_too_big
jmp 0x41bc6d
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 0x41dd9b
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 0x41dd90
push esi
lea eax, [ebp + 0x9d70]
push eax
jmp 0x41dd85
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.00448130
push dword [ebp + 0x38]
push edi
push esi
call fcn.00447af0
add esp, 0x18
test ebx, ebx
je 0x41dd90
cmp dword [ebp + 0x48], 0
je 0x41dd90
lea eax, [edi - 0x1000]
push eax
push ebx
call fcn.00447a30
pop ecx
pop ecx
mov esi, eax
jmp 0x41dd92
xor esi, esi
test esi, esi
jne 0x41dd40
jmp 0x41b7e9
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 0x41ddf3
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.00448130
push dword [ebp + 0x80]
push edi
push esi
call fcn.00447af0
lea eax, [edi - 0x1000]
push eax
push ebx
call fcn.004010ff
add esp, 0x20
mov esi, eax
test esi, esi
jne 0x41ddb7
jmp 0x41b7e9
mov eax, dword [ebp + 0x68]
xor ebx, ebx
imul eax, eax, 0x18
mov al, byte [ebp + eax + 0x128]
mov esi, 0x46082c
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 0x41de32
mov esi, dword [ebp + ebx*4 - 0x16c]
inc ebx
cmp byte [esi], 0
jne 0x41de15
mov esi, dword [ebp + ebx*4 - 0x170]
cmp byte [esi], 0
je 0x41de56
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 0x41de5f
mov al, byte [ebp + 0x7f]
mov byte [ebp + 0xbd90], al
cmp byte [ebp + 0xbd90], 0
lea eax, [ebp + 0xbd90]
jne 0x41de73
mov eax, 0x45c970
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 0x41de9e
push 0x4601d8
lea eax, [ebp + 0xd70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, dword [ebp + 0x30]
test edi, edi
je 0x41df14
cmp byte [ebp + 0xd70], 0
jne 0x41dedf
fld qword [ebp + 0xd28]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41dedf
fld qword [ebp + 0xd28]
push 0xf
push ecx
push ecx
fstp qword [esp]
push edi
call fcn.00417eeb
push 0
push edi
call fcn.00415cb1
add esp, 0x18
jmp 0x41df14
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 0x41df05
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.00447ab6
fld qword [ebp + 0xd28]
pop ecx
jmp 0x41a407