Function at 0x44f779
Capabilities:
Clear file content
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x314
push ebx
push esi
push edi
push 2
pop edi
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x16c]
push edi
mov dword [esp + 0x44], edx
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
jmp 0x44f7c5
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x16c]
mov dword [ecx + edx*4], 0x13dd33a4
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x44f7af
mov dword [esp + 0x10], eax
jmp 0x44f7e4
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x2ec], 0xf3690f1d
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x44f7d1
xor esi, esi
mov dword [esp + 0x10], eax
inc esi
jmp 0x44f7ff
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x6c], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x44f7f3
mov ecx, dword [esp + 0x16c]
mov dword [ecx + 4], eax
lea ecx, [esp + 0x16c]
call fcn.00408170
mov dword [esp + 0x28], 0xb903cfcb
lea ecx, [esp + 0x184]
mov dword [esp + 0x18], esi
push edi
call fcn.0040809e
push 3
pop ebx
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x1b4]
mov dword [esp + 0x28], 0xf50e16ff
push ebx
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x44f868
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x44], 0xd7d490c4
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x44f858
mov dword [esp + 0x10], eax
jmp 0x44f883
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x88], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x44f874
mov dword [esp + 0x10], eax
jmp 0x44f8a5
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x184]
mov dword [ecx + edx*4], 0x6fc75dfc
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x44f88f
mov dword [esp + 0x10], eax
jmp 0x44f8c7
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1b4]
mov dword [ecx + edx*4], 0x3333
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x44f8b1
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x88]
mov ecx, dword [esp + 0x88]
mov ecx, dword [esp + 0x90]
mov ecx, dword [esp + 0x90]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x28], ebx
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x90]
cmp dword [esp + 0x44], eax
jne 0x44f919
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
xor edx, edx
mov ecx, dword [esp + 0x184]
cmp dword [ecx], eax
setge dl
imul edx, dword [ecx + 4]
mov dword [esp + 0x28], edx
xor edx, edx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
cmp ecx, eax
setle dl
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1b4]
mov dword [eax + 4], ecx
lea ecx, [esp + 0x1b4]
call fcn.00408170
lea ecx, [esp + 0x184]
call fcn.00408170
mov dword [esp + 0x18], ebx
lea ecx, [esp + 0x1d8]
mov dword [esp + 0x20], 0xffffffff
push edi
call fcn.0040809e
push 4
mov dword [esp + 0x18], esi
pop ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], 7
mov dword [esp + 0x24], 0
jmp 0x44f9b8
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1d8]
mov dword [eax + ecx*4], 0xb0befcdf
inc dword [esp + 0x24]
cmp dword [esp + 0x24], edi
jl 0x44f9a2
mov dword [esp + 0x20], 0
cmp dword [esp + 0x20], 0xfffffff5
je 0x44fbba
mov edi, dword [esp + 0x1d8]
push ebx
lea ecx, [esp + 0xfc]
call fcn.0040809e
push 2
pop ebx
push ebx
lea ecx, [esp + 0x1a0]
call fcn.0040809e
mov dword [esp + 0x28], 0xe936be85
lea ecx, [esp + 0x1f0]
mov dword [esp + 0x28], 0xb64d
push esi
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x44fa2c
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xf8]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x44fa1a
mov dword [esp + 0x10], eax
jmp 0x44fa4f
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x19c]
mov dword [ecx + edx*4], 0x2c41ac3d
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x44fa39
mov dword [esp + 0x10], eax
jmp 0x44fa71
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1f0]
mov dword [ecx + edx*4], 0xdf7b1466
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x44fa5b
mov dword [esp + 0x10], eax
jmp 0x44fa90
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x26c], 0x5daa08bb
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x44fa7d
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0x19c]
mov edx, dword [esi + 8]
mov dword [ecx + 4], edx
xor edx, edx
mov dword [edi + 4], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
test ecx, ecx
sets dl
sub edx, dword [esp + 0x14]
sub edx, dword [esp + 0x14]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1f0]
mov dword [ecx], edx
cmp edx, dword [esi + 8]
mov ecx, dword [esp + 0x20]
setle bl
mov esi, dword [esi + 8]
sub ebx, ecx
mov dword [esp + 0x270], ebx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], ebx
xor ebx, ebx
cmp dword [esp + 0x28], 0x5205
setne bl
xor edx, edx
cmp ebx, ecx
setge dl
xor ecx, ecx
cmp edx, esi
setge cl
xor ebx, ebx
cmp ecx, esi
setne bl
xor edx, edx
add ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0xf8]
cmp ebx, dword [ecx + 4]
mov ecx, dword [esp + 0x20]
setne dl
xor ebx, ebx
cmp edx, 0x477a14a9
setg bl
xor edx, edx
cmp ecx, ebx
mov ecx, dword [esp + 0x14]
setne dl
sub edx, 5
mov dword [esp + 0x28], edx
xor edx, edx
cmp dword [esp + 0x28], ecx
setg dl
xor esi, esi
mov dword [esp + 0x28], edx
inc esi
mov byte [esp + 0x1f], al
cmp byte [esp + 0x1f], al
je 0x44fb81
push 0x34
push 0x1b80
push esi
push eax
push 0x1a1
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
lea ecx, [esp + 0x1f0]
call fcn.00408170
lea ecx, [esp + 0x19c]
call fcn.00408170
lea ecx, [esp + 0xf8]
call fcn.00408170
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xfffffff5
push 4
pop ebx
jne 0x44f9d8
push 2
pop edi
dec dword [esp + 0x2c]
lea ecx, [esp + 0x1d8]
call fcn.00408170
mov dword [esp + 0x30], 0xfffffff7
lea ecx, [esp + 0x160]
mov dword [esp + 0x14], 8
mov dword [esp + 0x20], 0xfffffffe
mov dword [esp + 0x2c], 0xffffffff
push edi
call fcn.0040809e
mov dword [esp + 0x18], ebx
lea ecx, [esp + 0x154]
mov dword [esp + 0x30], 0xf113d064
mov dword [esp + 0x28], 0x1f13110e
push ebx
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x44fc36
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x160]
mov dword [ecx + edx*4], 7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x44fc20
mov dword [esp + 0x10], eax
jmp 0x44fc58
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x154]
mov dword [ecx + edx*4], 8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x44fc42
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x14]
jl 0x44fc7c
mov edx, eax
cmp dword [esp + 0x14], eax
je 0x44fc7e
mov edx, esi
mov ecx, dword [esp + 0x14]
xor ebx, ebx
cmp ecx, edx
mov ecx, dword [esp + 0x14]
setl bl
xor edx, edx
cmp ecx, ebx
setl dl
add edx, dword [esp + 0x14]
je 0x44fd34
mov dword [esp + 0x10], 0x2b82
mov dword [esp + 0x28], 0xbe734e2e
cmp dword [esp + 0x10], eax
jne 0x44fce3
mov ecx, dword [esp + 0x14]
xor edx, edx
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, esi
setle dl
imul ecx, edx, 0x99a
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x20], ecx
jl 0x44fce7
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], ecx
cmp dword [esp + 0x10], eax
je 0x44fd26
cmp dword [esp + 0x28], eax
je 0x44fd26
mov byte [esp + 0x1f], al
cmp byte [esp + 0x1f], al
je 0x44fd46
push eax
push 0xaf0
push 0x242b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
jmp 0x44fd44
mov dword [esp + 0x28], 0x2cbd4dae
inc dword [esp + 0x28]
jmp 0x44fd46
mov byte [esp + 0x1f], al
cmp byte [esp + 0x1f], al
je 0x44fd46
call dword [sym.imp.GDI32.dll_GdiFlush]
xor eax, eax
mov dword [esp + 0x20], esi
cmp dword [esp + 0x20], eax
jl 0x44fe51
mov edi, dword [esp + 0x160]
mov ebx, dword [esp + 0x154]
mov dword [esp + 0x14], 0x335a02a9
mov dword [esp + 0x28], 0x4b5bc683
mov dword [esp + 0x28], 0xc84d
mov dword [esp + 0x24], eax
jmp 0x44fd93
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x218], 0xfffffffa
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 3
jl 0x44fd80
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x20], 0xcd142575
sbb ecx, ecx
neg ecx
sub ecx, 0x381c4edd
neg ecx
sbb ecx, ecx
inc ecx
cmp dword [esp + 0x14], ecx
jne 0x44fdbf
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp dword [edi + 4], ecx
mov esi, dword [esp + 0x14]
setge dl
imul esi, edx
sub esi, dword [esp + 0x14]
imul esi, dword [esp + 0x14]
sub esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
setne dl
mov dword [esp + 0x28], edx
xor edx, edx
mov ecx, dword [esp + 0x28]
test ecx, ecx
sets dl
mov dword [esp + 0x218], edx
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x218]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x30]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x2c]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [esp + 0x20]
mov dword [ebx + 4], ecx
dec dword [esp + 0x20]
jns 0x44fd62
xor esi, esi
push 2
inc esi
pop edi
lea ecx, [esp + 0x154]
call fcn.00408170
lea ecx, [esp + 0x160]
call fcn.00408170
xor eax, eax
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], 0xe
jge 0x450392
mov dword [esp + 0x20], 0xffffffff
lea ecx, [esp + 0x1a8]
push edi
call fcn.0040809e
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], 4
mov dword [esp + 0x2c], 7
mov dword [esp + 0x24], 0
jmp 0x44fec3
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1a8]
mov dword [eax + ecx*4], 0xb0befcdf
inc dword [esp + 0x24]
cmp dword [esp + 0x24], edi
jl 0x44fead
mov dword [esp + 0x20], 0
cmp dword [esp + 0x20], 0xfffffff5
je 0x4500c3
mov edi, dword [esp + 0x1a8]
push 4
lea ecx, [esp + 0xe4]
call fcn.0040809e
push 2
pop ebx
push ebx
lea ecx, [esp + 0x194]
call fcn.0040809e
mov dword [esp + 0x28], 0xe936be85
lea ecx, [esp + 0x178]
mov dword [esp + 0x28], 0xb64d
push esi
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x44ff38
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xe0]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x44ff26
mov dword [esp + 0x10], eax
jmp 0x44ff5b
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x190]
mov dword [ecx + edx*4], 0x2c41ac3d
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x44ff45
mov dword [esp + 0x10], eax
jmp 0x44ff7d
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x178]
mov dword [ecx + edx*4], 0xdf7b1466
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x44ff67
mov dword [esp + 0x10], eax
jmp 0x44ff9c
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x2c4], 0x5daa08bb
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x44ff89
mov esi, dword [esp + 0xe0]
mov ecx, dword [esp + 0x190]
mov edx, dword [esi + 8]
mov dword [ecx + 4], edx
xor edx, edx
mov dword [edi + 4], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
test ecx, ecx
sets dl
sub edx, dword [esp + 0x14]
sub edx, dword [esp + 0x14]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x178]
mov dword [ecx], edx
cmp edx, dword [esi + 8]
mov ecx, dword [esp + 0x20]
setle bl
mov esi, dword [esi + 8]
sub ebx, ecx
mov dword [esp + 0x2c8], ebx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], ebx
xor ebx, ebx
cmp dword [esp + 0x30], 0x5205
setne bl
xor edx, edx
cmp ebx, ecx
setge dl
xor ecx, ecx
cmp edx, esi
setge cl
xor ebx, ebx
cmp ecx, esi
setne bl
xor edx, edx
add ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0xe0]
cmp ebx, dword [ecx + 4]
mov ecx, dword [esp + 0x20]
setne dl
xor ebx, ebx
cmp edx, 0x477a14a9
setg bl
xor edx, edx
cmp ecx, ebx
mov ecx, dword [esp + 0x14]
setne dl
sub edx, 5
mov dword [esp + 0x30], edx
xor edx, edx
cmp dword [esp + 0x30], ecx
setg dl
xor esi, esi
mov dword [esp + 0x30], edx
inc esi
mov byte [esp + 0x1f], al
cmp byte [esp + 0x1f], al
je 0x45008d
push 0x34
push 0x1b80
push esi
push eax
push 0x1a1
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
lea ecx, [esp + 0x178]
call fcn.00408170
lea ecx, [esp + 0x190]
call fcn.00408170
lea ecx, [esp + 0xe0]
call fcn.00408170
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xfffffff5
jne 0x44fee3
push 2
pop edi
dec dword [esp + 0x2c]
lea ecx, [esp + 0x1a8]
call fcn.00408170
mov dword [esp + 0x24], 0xdb22124f
mov dword [esp + 0x24], 0xffffffea
jmp 0x450376
mov dword [esp + 0x14], 0x20fe6e32
lea ecx, [esp + 0x274]
mov dword [esp + 0x20], 0xfffffffe
push edi
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x20], eax
jmp 0x450123
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x274]
mov dword [ecx + edx*4], 0x23024a13
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edi
jl 0x45010d
cmp dword [esp + 0x14], eax
jne 0x45017c
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp ecx, 0x4a61bf07
setne dl
xor ecx, ecx
cmp edx, esi
setge cl
sub ecx, dword [esp + 0x14]
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
setl bl
xor edx, edx
cmp ebx, ecx
setne dl
cmp edx, 9
sbb ecx, ecx
inc ecx
sub ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x14]
je 0x45017c
mov esi, eax
mov ecx, dword [esp + 0x14]
xor edx, edx
mov ecx, dword [esp + 0x14]
cmp esi, ecx
setl dl
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x14], eax
je 0x450207
push 4
lea ecx, [esp + 0x258]
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x20], eax
jmp 0x4501cd
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x254]
mov dword [ecx + edx*4], 0xfffffff7
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 4
jl 0x4501b7
mov dword [esp + 0x20], eax
jmp 0x4501ec
mov byte [esp + 0x1f], al
cmp byte [esp + 0x1f], al
jne 0x4503d1
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jle 0x4501da
lea ecx, [esp + 0x254]
call fcn.00408170
xor esi, esi
inc esi
jmp 0x45035e
xor esi, esi
mov dword [esp + 0x2c], edi
inc esi
mov dword [esp + 0x10], 0x3019c36c
mov dword [esp + 0x30], esi
lea ecx, [esp + 0x2b8]
push edi
call fcn.0040809e
mov dword [esp + 0x30], 0xb085ca7d
lea ecx, [esp + 0x260]
push esi
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x10], eax
jmp 0x45025e
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x2b8]
mov dword [ecx + edx*4], 0xfffffffb
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x450248
mov dword [esp + 0x10], eax
jmp 0x45027d
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x260]
or dword [ecx + edx*4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x45026a
mov dword [esp + 0x10], eax
jmp 0x45029c
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x134], 0x534d
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x450289
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x14]
jne 0x4502c2
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0x20], 0xffffffff
sbb ecx, ecx
inc ecx
cmp ecx, 0xfb65
mov ecx, eax
jl 0x4502c4
mov ecx, esi
mov edx, dword [esp + 0x2c]
xor ebx, ebx
imul edx, ecx
mov ecx, dword [esp + 0x20]
cmp edx, ecx
mov ecx, dword [esp + 0x14]
setne bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [esp + 0x2c]
setg dl
mov dword [esp + 0x30], edx
xor edx, edx
cmp ecx, dword [esp + 0x30]
setne dl
mov dword [esp + 0x10], edx
mov dword [esp + 0x10], 0x1c
jmp 0x45033f
mov dword [esp + 0x30], eax
mov dword [esp + 0x30], 0x1d4b4ea6
mov dword [esp + 0x30], 9
mov dword [esp + 0x20], eax
jmp 0x45032d
mov ecx, dword [esp + 0x20]
mov dword [esp + ecx*4 + 0x314], 4
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jl 0x45031a
inc dword [esp + 0x134]
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0x19
jge 0x450300
lea ecx, [esp + 0x260]
call fcn.00408170
lea ecx, [esp + 0x2b8]
call fcn.00408170
lea ecx, [esp + 0x274]
call fcn.00408170
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], eax
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 0xd
jg 0x4500e8
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0xe
jl 0x44fe7a
xor eax, eax
mov dword [esp + 0x14], 0xad59e57a
mov ecx, 0xa6c6
mov dword [esp + 0x30], 0x515fdc8d
mov dword [esp + 0x30], 0x74a52027
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x14], eax
jmp 0x4503ec
push 0x1a5f
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x58], 0xc204e2db
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x4503dc
mov dword [esp + 0x14], eax
jmp 0x450407
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x30c], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x4503f8
mov dword [esp + 0x14], eax
jmp 0x450423
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x58], 0x5e17ca00
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x450413
mov dword [esp + 0x14], eax
jmp 0x450504
mov dword [esp + 0x10], 0xa1220985
mov dword [esp + 0x30], eax
mov dword [esp + 0x30], 0x90f9986e
mov dword [esp + 0x30], 0x9e022a5b
mov dword [esp + 0x30], 0x5fa2ef7
mov dword [esp + 0x30], 0x4361a6b7
mov dword [esp + 0x30], 5
mov dword [esp + 0x10], eax
jmp 0x45047c
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x58], 0x576c3a0b
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x45046c
mov dword [esp + 0x10], eax
jmp 0x4504fa
mov dword [esp + 0x30], 0x8f01ba02
lea ecx, [esp + 0x2a8]
mov dword [esp + 0x30], 0x63b0a6d0
push 3
call fcn.0040809e
mov dword [esp + 0x18], 0
jmp 0x4504c6
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x2a8]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x4504b0
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x2a8]
cmp dword [esp + eax*4 + 0x58], 0xf9f36173
sbb eax, eax
neg eax
mov dword [esp + 0x30], eax
inc dword [esp + 0x12c]
call fcn.00408170
inc dword [esp + 0x10]
xor eax, eax
cmp dword [esp + 0x10], eax
jle 0x450488
inc dword [esp + 0x14]
cmp dword [esp + 0x14], eax
jle 0x450432
push 3
pop ebx
push ebx
lea ecx, [esp + 0x24c]
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], eax
jmp 0x450540
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x248]
mov dword [ecx + edx*4], 0x10c93b4e
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jl 0x45052a
mov dword [esp + 0x24], eax
jmp 0x45059e
mov dword [esp + 0x18], 0x7e17f75
mov dword [esp + 0x18], edi
cmp dword [esp + 0x18], eax
jl 0x450580
mov byte [esp + 0x1f], al
cmp byte [esp + 0x1f], 0
je 0x450576
push 0x14fc
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
mov ecx, dword [esp + 0x18]
dec dword [esp + 0x18]
jns 0x45055e
mov byte [esp + 0x1f], al
cmp byte [esp + 0x1f], 0
je 0x45059a
push eax
push 0x2263
push eax
call dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
xor eax, eax
inc dword [esp + 0x24]
cmp dword [esp + 0x24], edi
jle 0x45054c
lea ecx, [esp + 0x248]
call fcn.00408170
mov dword [esp + 0x18], esi
lea ecx, [esp + 0x23c]
mov dword [esp + 0x28], 0xfffffff7
mov dword [esp + 0x2c], 0xffff
push esi
call fcn.0040809e
mov dword [esp + 0x30], esi
mov dword [esp + 0x14], 0
jmp 0x4505ef
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x54], 5
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x4505df
mov dword [esp + 0x14], 0
jmp 0x450615
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x23c]
mov dword [eax + ecx*4], 0x531f
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x4505ff
mov eax, dword [esp + 0x54]
xor ecx, ecx
mov dword [esp + 0x54], eax
mov edx, 0xd208
mov dword [esp + 0x54], edx
dec dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
cmp eax, edx
mov eax, dword [esp + 0x28]
setge cl
cmp esi, eax
sbb eax, eax
xor edx, edx
neg eax
cmp ecx, eax
mov eax, dword [esp + 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, 0x9e22401d
setg cl
cmp eax, ecx
lea ecx, [esp + 0x23c]
sbb eax, eax
inc eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
call fcn.00408170
push ebx
lea ecx, [esp + 0x80]
call fcn.0040809e
mov dword [esp + 0x10], ebx
lea ecx, [esp + 0xc0]
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], 0xf361
push edi
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x24], 0x5631cd1a
mov dword [esp + 0x14], eax
jmp 0x4506c2
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
mov dword [ecx + edx*4], esi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jl 0x4506b3
mov dword [esp + 0x14], eax
jmp 0x4506e4
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xc0]
mov dword [ecx + edx*4], 0xac06e326
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x4506ce
mov dword [esp + 0x10], edi
cmp dword [esp + 0x10], eax
jl 0x45074c
mov dword [esp + 0x30], 0x815
mov dword [esp + 0x30], 0x6d0811fc
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x7c]
cmp dword [edx + ecx*4], eax
je 0x45071e
cmp dword [edx + 4], eax
je 0x45071a
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
xor edx, edx
inc ecx
cmp ecx, esi
mov ecx, dword [esp + 0x20]
setge dl
xor ebx, ebx
imul edx, edx, 0xffff
cmp edx, ecx
setg bl
neg ebx
neg ebx
sbb ebx, ebx
inc ebx
mov dword [esp + 0x30], ebx
dec dword [esp + 0x10]
jns 0x4506f4
mov dword [esp + 0x10], edi
cmp dword [esp + 0x10], eax
jl 0x450963
mov edi, dword [esp + 0xc0]
push esi
lea ecx, [esp + 0x98]
call fcn.0040809e
mov dword [esp + 0x30], 0x932384b6
xor eax, eax
mov dword [esp + 0x2c], 0xaeb8
mov dword [esp + 0x18], eax
jmp 0x45079c
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x94]
mov dword [ecx + edx*4], 0x221494fb
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x450786
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x7c]
cmp dword [ecx + edx*4], eax
je 0x450827
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x7c]
cmp dword [ecx + edx*4], eax
jne 0x4507d1
mov ecx, dword [esp + 0xc0]
mov edx, eax
cmp dword [ecx], eax
je 0x4507d3
mov edx, esi
mov esi, dword [esp + 0x10]
xor ebx, ebx
mov ecx, dword [esp + 0x28]
cmp edx, ecx
mov ecx, dword [esp + 0x24]
setle bl
sub ebx, 0xcc33
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
cmp ebx, 0xfffffffc
setle dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [esp + 0x7c]
setg bl
mov ecx, dword [ecx + esi*4]
sub ecx, ebx
jne 0x450818
cmp dword [esp + 0x24], eax
jne 0x450818
xor esi, esi
mov edx, eax
inc esi
jmp 0x45081d
xor esi, esi
inc esi
mov edx, esi
mov ecx, dword [esp + 0x20]
sub ecx, edx
mov edx, esi
jne 0x450829
mov edx, eax
mov ecx, dword [esp + 0x94]
mov dword [ecx], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x7c]
cmp dword [ecx + edx*4], eax
jne 0x450863
inc dword [esp + 0x2c]
mov edx, eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], eax
je 0x450865
mov edx, esi
mov ecx, dword [esp + 0x94]
mov esi, dword [ecx]
mov ecx, dword [esp + 0x10]
dec ecx
add ecx, edx
neg ecx
sbb ecx, ecx
neg ecx
sub ecx, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 0x915
setg dl
xor ecx, ecx
add edx, esi
imul edx, dword [edi + 4]
sub edx, esi
cmp edx, 0x551b
setne cl
xor edx, edx
cmp ecx, 0xffff606c
mov ecx, dword [esp + 0xc0]
setne dl
mov dword [ecx], edx
cmp dword [esp + 0x30], eax
jge 0x45092b
mov dword [esp + 0x2c], 0x9310
mov byte [esp + 0x1f], al
cmp byte [esp + 0x1f], al
je 0x4508d7
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
xor eax, eax
xor esi, esi
mov dword [esp + 0x20], 2
inc esi
cmp dword [esp + 0x20], eax
jl 0x450939
mov dword [esp + 0x30], 0x84183aa7
mov dword [esp + 0x18], eax
jmp 0x450909
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0xcc], 0xfffffffd
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x4508f6
mov ecx, dword [esp + 0x30]
sub ecx, dword [esp + 0x2c]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0xcc], ecx
dec dword [esp + 0x20]
jns 0x4508e8
jmp 0x450939
mov ecx, dword [esp + 0x94]
cmp dword [ecx], eax
jne 0x450951
xor esi, esi
inc esi
lea ecx, [esp + 0x94]
call fcn.00408170
dec dword [esp + 0x10]
jns 0x450761
jmp 0x450960
lea ecx, [esp + 0x94]
call fcn.00408170
xor esi, esi
inc esi
push 2
pop edi
lea ecx, [esp + 0xc0]
call fcn.00408170
lea ecx, [esp + 0x7c]
call fcn.00408170
push dword [esp + 0x6c]
movdqa xmm0, xmmword [0xa6be30]
lea ecx, [esp + 0x2f0]
push ecx
xor eax, eax
lea ecx, [esp + 0x2e4]
push ecx
push eax
lea ecx, [esp + 0xe4]
mov dword [esp + 0xe4], eax
movdqu xmmword [esp + 0x2ec], xmm0
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
call fcn.00408ca2
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x4509d5
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x4c], esi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x4509c9
push 3
pop ebx
mov dword [esp + 0x4c], ebx
cmp dword [esp + 0x4c], eax
jl 0x450a4b
mov dword [esp + 0x24], 0xfffffffd
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x24], eax
jl 0x450a45
mov dword [esp + 0x18], 0xab593421
mov dword [esp + 0x18], eax
jmp 0x450a39
mov byte [esp + 0x1f], al
cmp byte [esp + 0x1f], 0
je 0x450a20
push 0xa4c
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
xor eax, eax
mov byte [esp + 0x1f], al
cmp byte [esp + 0x1f], 0
je 0x450a35
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetCommState]
xor eax, eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jle 0x450a08
dec dword [esp + 0x24]
jns 0x4509fa
dec dword [esp + 0x4c]
jns 0x4509e8
lea ecx, [esp + 0xd4]
call fcn.00408170
mov dword [esp + 0x2c], 0xb903cfcb
xor eax, eax
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x30], 0x25681085
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], 0xe7c14ab6
mov dword [esp + 0x18], eax
jmp 0x450a96
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x28c], 0x6b43d271
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x450a83
mov dword [esp + 0x20], eax
jmp 0x450bb7
mov dword [esp + 0x24], 0x97eede0b
mov dword [esp + 0x18], 0x7f191253
mov dword [esp + 0x18], eax
jmp 0x450acf
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x208], 0xcd49598a
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x450abc
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0x1a
jl 0x450bb3
mov dword [esp + 0x2c], 0x210ec320
lea ecx, [esp + 0x224]
push esi
call fcn.0040809e
mov dword [esp + 0x18], 0
jmp 0x450b1a
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x224]
mov dword [eax + ecx*4], 0x3a6d7d04
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x450b04
cmp dword [esp + 0x28], 0
jne 0x450b4d
mov dword [esp + 0x2c], 0xc1e0
xor edx, edx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
cmp eax, ecx
setge dl
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x20c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x214]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
inc dword [esp + 0x14]
cmp eax, ecx
jne 0x450b6c
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x298]
xor edx, edx
mov eax, dword [esp + 0x298]
mov ecx, dword [esp + 0x20c]
mov eax, dword [esp + 0x298]
cmp ecx, eax
lea ecx, [esp + 0x224]
setl dl
mov dword [esp + 0x20c], edx
call fcn.00408170
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 0x1a
jge 0x450ae5
xor eax, eax
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xfffffffe
jg 0x450aa6
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x70]
mov dword [esp + 0x24], 0x313dd33a
push edi
call fcn.0040809e
mov dword [esp + 0x2c], 0x5c2f1fcc
lea ecx, [esp + 0x110]
push esi
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], eax
jmp 0x450c08
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov dword [ecx + edx*4], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x450bf9
mov dword [esp + 0x10], eax
jmp 0x450c26
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x110]
mov dword [ecx + edx*4], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x450c14
mov dword [esp + 0x10], eax
jmp 0x450c41
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0xbc], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x450c32
mov dword [esp + 0x24], 0xfffffff0
cmp dword [esp + 0x24], 0x13
jl 0x450e01
mov dword [esp + 0x10], eax
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], eax
jl 0x450def
mov edi, dword [esp + 0x70]
push ebx
lea ecx, [esp + 0xf0]
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x30], 0x32f8296
mov dword [esp + 0x14], eax
jmp 0x450ca3
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xec]
mov dword [ecx + edx*4], 0x8a94b2ab
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jl 0x450c8d
mov dword [esp + 0x14], eax
jmp 0x450cbf
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x50], 0xbd907c4e
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x450caf
mov edx, dword [esp + 0x10]
xor ebx, ebx
mov ecx, dword [esp + 0x70]
cmp dword [ecx + edx*4], esi
mov ecx, dword [esp + 0x10]
setg bl
xor edx, edx
cmp ecx, ebx
setne dl
add edx, dword [esp + 0x10]
imul edx, dword [esp + 0x10]
cmp edx, dword [esp + 0x50]
jne 0x450cf9
mov ecx, dword [esp + 0x70]
mov edx, esi
cmp dword [ecx], eax
jne 0x450cfb
mov edx, eax
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0xec]
mov eax, dword [esp + 0x70]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [esi + 8], eax
mov eax, dword [esp + 0x24]
cmp edx, eax
mov eax, dword [esp + 0x70]
setne cl
xor edx, edx
cmp ecx, dword [eax]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x10]
setge dl
add ecx, edx
xor edx, edx
cmp ecx, eax
setge dl
imul edx, dword [esp + 0x10]
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x110]
sub ecx, edx
mov dword [eax], ecx
xor eax, eax
cmp ecx, 8
setg al
xor ecx, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x10]
cmp eax, 7
setg cl
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
neg ecx
mov eax, dword [esp + 0x10]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, 0x6fe0855b
setle dl
xor ecx, ecx
imul edx, eax
mov eax, dword [esp + 0x110]
mov dword [eax], edx
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
imul edx, eax
mov dword [esp + 0xbc], edx
mov eax, dword [esp + 0x10]
cmp edx, eax
mov eax, dword [esp + 0xec]
sete cl
xor edx, edx
cmp ecx, dword [edi + 4]
lea ecx, [esp + 0xec]
setl dl
mov dword [eax], edx
call fcn.00408170
dec dword [esp + 0x10]
push 1
pop esi
push 3
pop ebx
jns 0x450c70
xor eax, eax
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 0x13
jge 0x450c5a
push 2
pop edi
lea ecx, [esp + 0x110]
call fcn.00408170
lea ecx, [esp + 0x70]
call fcn.00408170
push edi
lea ecx, [esp + 0x200]
call fcn.0040809e
mov dword [esp + 0x2c], esi
xor eax, eax
mov dword [esp + 0x14], 0x5c68ec0a
mov dword [esp + 0x10], 0xa53061ec
mov dword [esp + 0x18], 0xfffffff8
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 0xfffffff3
je 0x450f95
jmp 0x450e54
xor eax, eax
push dword [esp + 0x6c]
movdqa xmm0, xmmword [0xa6be60]
lea ecx, [esp + 0x2e0]
push ecx
lea ecx, [esp + 0x2d4]
mov dword [esp + 0x28], 0xcce57bf5
push ecx
push eax
lea ecx, [esp + 0x114]
mov dword [esp + 0x114], eax
movdqu xmmword [esp + 0x2dc], xmm0
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
call fcn.00408ca2
dec dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], 0xb984
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
sub ecx, eax
cmp ecx, 0xddd9cd4
jl 0x450ec9
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
dec eax
neg eax
sbb eax, eax
neg eax
imul eax, dword [esp + 0x14]
test eax, eax
je 0x450f47
mov dword [esp + 0x2c], 0xfffffff9
mov dword [esp + 0x30], 5
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
cmp ecx, 0xc698dc50
sbb eax, eax
xor edx, edx
neg eax
cmp eax, 0xfffffff7
mov eax, dword [esp + 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x2c]
setl cl
xor edx, edx
cmp ecx, 0x299e885d
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esp + 0x30], ecx
jmp 0x450f7a
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], 0
jl 0x450f7a
mov byte [esp + 0x1f], 0
cmp byte [esp + 0x1f], 0
je 0x450f74
push 0
push 0
push 0x1d4f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_DefWindowProcA]
dec dword [esp + 0x10]
jns 0x450f52
lea ecx, [esp + 0x104]
call fcn.00408170
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffff3
jne 0x450e52
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x230]
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], 0xf50e16ff
push edi
call fcn.0040809e
push 9
pop eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], 0
jmp 0x450ff1
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x230]
mov dword [eax + ecx*4], esi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x450fdf
mov dword [esp + 0xb4], 0
jmp 0x451032
mov byte [esp + 0x1f], 0
cmp byte [esp + 0x1f], 0
je 0x45102b
push 0x59f
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Polyline]
inc dword [esp + 0xb4]
cmp dword [esp + 0xb4], esi
jle 0x451004
lea ecx, [esp + 0x230]
call fcn.00408170
push ebx
lea ecx, [esp + 0x1e8]
call fcn.0040809e
push edi
lea ecx, [esp + 0x1d0]
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
jmp 0x451083
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1cc]
mov dword [ecx + edx*4], 0x13dd33a4
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x45106d
mov dword [esp + 0x10], eax
jmp 0x4510a2
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x2f4], 0xf3690f1d
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x45108f
mov dword [esp + 0x10], eax
jmp 0x4510bd
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x2b4], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x4510ae
mov ecx, dword [esp + 0x1cc]
mov dword [ecx + 4], eax
lea ecx, [esp + 0x1cc]
call fcn.00408170
mov dword [esp + 0x18], 0xfd47030f
xor eax, eax
mov dword [esp + 0x2c], 6
mov dword [esp + 0x2c], 0x39425a33
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x451111
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x34], 8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x451101
mov dword [esp + 0x14], eax
jmp 0x45112d
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x68], 0xc1a1fd29
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x45111d
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x34]
sub ecx, 0x73744644
jne 0x451153
mov edx, eax
cmp dword [esp + 0x34], eax
je 0x451155
mov edx, esi
mov ecx, dword [esp + 0x38]
xor ebx, ebx
add edx, ecx
mov ecx, dword [esp + 0x34]
cmp edx, ecx
setle bl
mov dword [esp + 0x2c], ebx
mov ecx, dword [esp + 0x2c]
imul ecx, dword [esp + 0x38]
dec ecx
cmp ecx, 0x2b99
jg 0x451180