Function at 0x4017fe
Capabilities:
Compare security identifiers
Get session user name
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1348
call fcn.004a6a20
push esi
push edi
mov dword [ebp - 0xa68], 0x689bb5c
mov dword [ebp - 0x39c], 0
jmp 0x401830
mov eax, dword [ebp - 0x39c]
inc eax
mov dword [ebp - 0x39c], eax
cmp dword [ebp - 0x39c], 2
jge 0x40184c
mov eax, dword [ebp - 0x39c]
mov dword [ebp + eax*4 - 0x2c8], 9
jmp 0x401823
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x2c8], 0
jmp 0x40187a
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2c8]
dec eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x2c8], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x2c8], 0xfffffff5
jg 0x401dea
mov dword [ebp - 0x30], 0x60f7e730
mov dword [ebp - 0x3e0], 0xffff
mov dword [ebp - 0xa78], 1
mov dword [ebp - 0xf0], 0
jmp 0x4018c2
mov eax, dword [ebp - 0xf0]
inc eax
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 2
jge 0x4018de
mov eax, dword [ebp - 0xf0]
mov dword [ebp + eax*4 - 0x1000], 4
jmp 0x4018b5
mov dword [ebp - 0xf0], 0
jmp 0x4018f7
mov eax, dword [ebp - 0xf0]
inc eax
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 4
jge 0x401913
mov eax, dword [ebp - 0xf0]
mov dword [ebp + eax*4 - 0x12c8], 0x832cb818
jmp 0x4018ea
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x2c8]
mov dword [ebp - 0xc3c], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp + eax - 0x1000], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x10e4], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2c8]
mov dword [ebp - 0x12b8], eax
mov eax, 0x8f1fe3d2
test eax, eax
je 0x401967
mov eax, 0x6ed4bca9
test eax, eax
jne 0x401980
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x1000], 0
jne 0x401980
and dword [ebp - 0x64c], 0
jmp 0x40198a
mov dword [ebp - 0x64c], 1
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x64c]
sub ecx, dword [ebp + eax - 0x2c8]
cmp ecx, 0xa0e40209
jne 0x4019b1
mov dword [ebp - 0xba8], 1
jmp 0x4019b8
and dword [ebp - 0xba8], 0
mov eax, dword [ebp - 0xba8]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0xef8], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xbb0], eax
mov byte [ebp - 0x93], 0xfe
mov al, byte [ebp - 0x93]
mov byte [ebp - 0x3b1], al
mov eax, dword [ebp - 0xef8]
mov dword [ebp - 0x11a8], eax
mov eax, dword [ebp - 0xbb0]
mov dword [ebp - 0x125c], eax
mov al, byte [ebp - 0x93]
mov byte [ebp - 0x46a], al
mov eax, dword [ebp - 0xbb0]
mov dword [ebp - 0x11b0], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x30]
cmp dword [ebp + eax - 0x2c8], ecx
jne 0x401a31
mov dword [ebp - 0xbb8], 1
jmp 0x401a38
and dword [ebp - 0xbb8], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2c8]
cmp dword [ebp - 0xbb8], eax
je 0x401a59
mov dword [ebp - 0xbc0], 1
jmp 0x401a60
and dword [ebp - 0xbc0], 0
mov eax, dword [ebp - 0xbc0]
mov dword [ebp - 0xf00], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2c8]
mov dword [ebp - 0xbd0], eax
mov byte [ebp - 0x1d9], 0x3d
mov byte [ebp - 0x1dd], 0x3e
mov al, byte [ebp - 0x1d9]
mov byte [ebp - 0x1db], al
mov eax, dword [ebp - 0xbd0]
mov dword [ebp - 0xbc8], eax
mov byte [ebp - 0xa8], 0x85
movzx eax, byte [ebp - 0x1db]
movzx ecx, byte [ebp - 0xa8]
sub eax, ecx
imul eax, dword [ebp - 0xbc8]
movzx ecx, byte [ebp - 0xa8]
mov edx, dword [ebp - 0xbc8]
imul edx, ecx
add eax, edx
mov ecx, dword [ebp - 0xf00]
sub ecx, eax
movzx eax, byte [ebp - 0x1dd]
imul eax, dword [ebp - 0xbd0]
add ecx, eax
push 4
pop eax
shl eax, 0
cmp ecx, dword [ebp + eax - 0x2c8]
jne 0x401b08
mov dword [ebp - 0xbd8], 1
jmp 0x401b0f
and dword [ebp - 0xbd8], 0
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0xbd8], eax
jge 0x401b26
mov dword [ebp - 0xbe0], 1
jmp 0x401b2d
and dword [ebp - 0xbe0], 0
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0xbe0]
cmp eax, dword [ebp - 0x30]
jge 0x401b48
mov dword [ebp - 0xc0c], 1
jmp 0x401b4f
and dword [ebp - 0xc0c], 0
mov eax, dword [ebp - 0xc0c]
mov dword [ebp - 0xf08], eax
mov dword [ebp - 0xc14], 0xcf6a
mov byte [ebp - 0xaa], 0x1d
mov eax, dword [ebp - 0xc14]
mov dword [ebp - 0xf18], eax
mov al, byte [ebp - 0xaa]
mov byte [ebp - 0xae], al
mov byte [ebp - 0xb0], 0x26
movzx eax, byte [ebp - 0xaa]
mov ecx, dword [ebp - 0xf08]
sub ecx, eax
mov dword [ebp - 0xf10], ecx
mov eax, dword [ebp - 0xc14]
mov dword [ebp - 0xbf8], eax
mov byte [ebp - 0xac], 0xc1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x12a0], eax
movzx eax, byte [ebp - 0xac]
mov ecx, dword [ebp - 0xf10]
sub ecx, eax
imul ecx, dword [ebp - 0xbf8]
movzx eax, byte [ebp - 0xac]
mov edx, dword [ebp - 0xbf8]
imul edx, eax
add ecx, edx
movzx eax, byte [ebp - 0xb0]
mov edx, dword [ebp - 0xf18]
sub edx, eax
movzx eax, byte [ebp - 0xae]
imul edx, eax
movzx eax, byte [ebp - 0xae]
movzx esi, byte [ebp - 0xb0]
imul eax, esi
add edx, eax
add ecx, edx
push 4
pop eax
shl eax, 1
cmp ecx, dword [ebp + eax - 0x12c8]
je 0x401c2c
mov dword [ebp - 0x91c], 1
jmp 0x401c33
and dword [ebp - 0x91c], 0
mov eax, dword [ebp - 0x91c]
neg eax
mov dword [ebp - 0x4d0], eax
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp + eax - 0x12c8], ecx
cmp dword [ebp - 0x4d0], 0
je 0x401c84
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x12c8], 0
je 0x401c84
mov eax, 0x3337672a
test eax, eax
je 0x401c84
xor eax, eax
je 0x401c84
mov dword [ebp - 0xa58], 1
jmp 0x401c8b
and dword [ebp - 0xa58], 0
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0xa58]
mov dword [ebp - 0xf20], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x4d8], eax
mov byte [ebp - 0x1df], 0xbe
mov byte [ebp - 0x1e1], 0xbf
movzx eax, byte [ebp - 0x1df]
imul eax, dword [ebp - 0x4d8]
mov ecx, dword [ebp - 0xf20]
sub ecx, eax
mov dword [ebp - 0xf28], ecx
movzx eax, byte [ebp - 0x1e1]
imul eax, dword [ebp - 0x4d8]
mov dword [ebp - 0xa60], eax
mov byte [ebp - 0x1e3], 0x67
mov byte [ebp - 0x1e5], 0x68
mov al, byte [ebp - 0x1e3]
mov byte [ebp - 0x469], al
mov eax, dword [ebp - 0xa60]
mov dword [ebp - 0x11b8], eax
mov eax, dword [ebp - 0xf28]
mov dword [ebp - 0x1264], eax
mov al, byte [ebp - 0x1e5]
mov byte [ebp - 0x425], al
mov eax, dword [ebp - 0xa60]
mov dword [ebp - 0x11c0], eax
mov dword [ebp - 0x30], 0xe588
cmp dword [ebp - 0x30], 0
je 0x401d4d
cmp dword [ebp - 0x3e0], 0
je 0x401d4d
mov dword [ebp - 0x4e0], 1
jmp 0x401d54
and dword [ebp - 0x4e0], 0
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0xa68], eax
cmp dword [ebp - 0xa68], 0
jne 0x401d7b
cmp dword [ebp - 0x3e0], 0
jne 0x401d7b
and dword [ebp - 0x4e8], 0
jmp 0x401d85
mov dword [ebp - 0x4e8], 1
cmp dword [ebp - 0x4e8], 0
ja 0x401d9a
mov dword [ebp - 0xa70], 1
jmp 0x401da1
and dword [ebp - 0xa70], 0
mov eax, dword [ebp - 0x3e0]
imul eax, dword [ebp - 0xa70]
test eax, eax
je 0x401dc4
cmp dword [ebp - 0x30], 0
je 0x401dc4
mov dword [ebp - 0x4f0], 1
jmp 0x401dcb
and dword [ebp - 0x4f0], 0
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 0xa78], eax
cmp dword [ebp - 0xa78], 0
je 0x401de5
jmp 0x40185f
jmp 0x40185f
mov dword [ebp - 4], 0xfe0a8eac
mov dword [ebp - 0x128], 4
mov dword [ebp - 0x568], 5
mov dword [ebp - 0x398], 0
jmp 0x401e1e
mov eax, dword [ebp - 0x398]
inc eax
mov dword [ebp - 0x398], eax
cmp dword [ebp - 0x398], 2
jge 0x401e3a
mov eax, dword [ebp - 0x398]
mov dword [ebp + eax*4 - 0xbec], 0xacb2
jmp 0x401e11
mov dword [ebp - 4], 0xffffffe9
jmp 0x401e4a
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x17
jl 0x4021cc
mov dword [ebp - 0x134], 0xffffffff
mov dword [ebp - 0xab0], 0x210e164c
mov dword [ebp - 0xfb0], 0xffffffff
mov dword [ebp - 0xfcc], 0xc46983c1
mov dword [ebp - 0xf30], 0x43e
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x4f8], eax
mov byte [ebp - 0x1e7], 0xd4
mov byte [ebp - 0x1e9], 0xd5
movzx eax, byte [ebp - 0x1e7]
imul eax, dword [ebp - 0x4f8]
mov ecx, dword [ebp - 0xf30]
sub ecx, eax
mov dword [ebp - 0xf38], ecx
movzx eax, byte [ebp - 0x1e9]
imul eax, dword [ebp - 0x4f8]
mov dword [ebp - 0xa80], eax
mov byte [ebp - 0x1eb], 0xa8
mov byte [ebp - 0x1ed], 0xa9
mov al, byte [ebp - 0x1eb]
mov byte [ebp - 0x3bd], al
mov eax, dword [ebp - 0xa80]
mov dword [ebp - 0x12e0], eax
mov eax, dword [ebp - 0xf38]
mov dword [ebp - 0x11c8], eax
mov al, byte [ebp - 0x1ed]
mov byte [ebp - 0x459], al
mov eax, dword [ebp - 0xa80]
mov dword [ebp - 0x126c], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x11d0], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x12a8], eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0xf48], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x500], eax
mov byte [ebp - 0x1ef], 0x48
mov byte [ebp - 0x1f1], 0x49
mov al, byte [ebp - 0x1ef]
mov byte [ebp - 0x1f5], al
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0x508], eax
mov byte [ebp - 0xb4], 0x10
mov al, byte [ebp - 0x1f1]
mov byte [ebp - 0x1f3], al
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xa88], eax
mov byte [ebp - 0xb2], 0x6f
movzx eax, byte [ebp - 0x1f3]
movzx ecx, byte [ebp - 0xb2]
sub eax, ecx
imul eax, dword [ebp - 0xa88]
mov dword [ebp - 0xf50], eax
movzx eax, byte [ebp - 0xb2]
mov ecx, dword [ebp - 0xa88]
imul ecx, eax
mov dword [ebp - 0x510], ecx
mov byte [ebp - 0x1fb], 0x5d
mov byte [ebp - 0x1fd], 0x5e
movzx eax, byte [ebp - 0x1f5]
movzx ecx, byte [ebp - 0xb4]
sub eax, ecx
imul eax, dword [ebp - 0x508]
mov dword [ebp - 0xf40], eax
movzx eax, byte [ebp - 0xb4]
mov ecx, dword [ebp - 0x508]
imul ecx, eax
mov dword [ebp - 0xa90], ecx
mov byte [ebp - 0x1f7], 0xd1
mov byte [ebp - 0x1f9], 0xd2
cmp dword [ebp - 4], 0
je 0x402019
cmp dword [ebp - 4], 0
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x11d8], eax
movzx eax, byte [ebp - 0x1f7]
imul eax, dword [ebp - 0xa90]
mov ecx, dword [ebp - 0xf40]
sub ecx, eax
movzx eax, byte [ebp - 0x1f9]
imul eax, dword [ebp - 0xa90]
add ecx, eax
mov eax, dword [ebp - 0xf48]
add eax, ecx
movzx ecx, byte [ebp - 0x1fb]
imul ecx, dword [ebp - 0x510]
mov edx, dword [ebp - 0xf50]
sub edx, ecx
movzx ecx, byte [ebp - 0x1fd]
imul ecx, dword [ebp - 0x510]
add edx, ecx
sub eax, edx
mov dword [ebp - 0xfb0], eax
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x134], eax
jle 0x402098
mov dword [ebp - 0xa98], 1
jmp 0x40209f
and dword [ebp - 0xa98], 0
mov eax, dword [ebp - 4]
cmp dword [ebp - 0xa98], eax
jge 0x4020b6
mov dword [ebp - 0x518], 1
jmp 0x4020bd
and dword [ebp - 0x518], 0
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x518], eax
jle 0x4020d4
mov dword [ebp - 0xaa0], 1
jmp 0x4020db
and dword [ebp - 0xaa0], 0
mov eax, dword [ebp - 0x134]
cmp dword [ebp - 0xaa0], eax
jne 0x4020f5
mov dword [ebp - 0x520], 1
jmp 0x4020fc
and dword [ebp - 0x520], 0
mov eax, dword [ebp - 0x134]
add eax, dword [ebp - 0x520]
cmp eax, dword [ebp - 4]
je 0x402119
mov dword [ebp - 0xaa8], 1
jmp 0x402120
and dword [ebp - 0xaa8], 0
cmp dword [ebp - 0xaa8], 0xfffffff7
jge 0x402132
mov eax, 0x51dba1dd
test eax, eax
jne 0x402144
mov eax, 0x339b8842
test eax, eax
jne 0x402144
and dword [ebp - 0x528], 0
jmp 0x40214e
mov dword [ebp - 0x528], 1
mov eax, dword [ebp - 0x134]
cmp dword [ebp - 0x528], eax
jl 0x402168
mov dword [ebp - 0xfc4], 1
jmp 0x40216f
and dword [ebp - 0xfc4], 0
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x1274], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x11e8], eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0xab0], eax
cmp dword [ebp - 0xab0], 0x8694
jge 0x4021b4
mov eax, 0x9909
test eax, eax
je 0x4021b4
mov dword [ebp - 0x530], 1
jmp 0x4021bb
and dword [ebp - 0x530], 0
mov eax, dword [ebp - 0x530]
mov dword [ebp - 0xfcc], eax
jmp 0x401e43
mov dword [ebp - 4], 1
jmp 0x4021dc
mov eax, dword [ebp - 4]
dec eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jl 0x402504
mov dword [ebp - 0xab8], 0xc923
mov dword [ebp - 0x560], 0xcbf785b8
mov dword [ebp - 0x128], 0
jmp 0x402213
mov eax, dword [ebp - 0x128]
inc eax
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 1
jg 0x4024ff
mov dword [ebp - 0x538], 3
mov dword [ebp - 0xaf8], 0x184bf4d8
mov eax, dword [ebp - 0x128]
mov eax, dword [ebp + eax*4 - 0xbec]
mov dword [ebp - 0x538], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0xab8], eax
mov eax, dword [ebp - 0xab8]
cmp dword [ebp - 0x538], eax
jge 0x40226a
mov dword [ebp - 0xac0], 1
jmp 0x402271
and dword [ebp - 0xac0], 0
mov eax, dword [ebp - 0x568]
cmp dword [ebp - 0xac0], eax
jge 0x40228b
mov dword [ebp - 0x540], 1
jmp 0x402292
and dword [ebp - 0x540], 0
mov eax, dword [ebp - 0x540]
mov dword [ebp - 0xfd4], eax
mov eax, dword [ebp - 0x560]
mov dword [ebp - 0x548], eax
mov byte [ebp - 0xb8], 0x6e
movzx eax, byte [ebp - 0xb8]
mov ecx, dword [ebp - 0xfd4]
sub ecx, eax
mov dword [ebp - 0xfdc], ecx
mov eax, dword [ebp - 0x548]
mov dword [ebp - 0xac8], eax
mov byte [ebp - 0xb6], 0xee
mov eax, dword [ebp - 0x128]
mov eax, dword [ebp + eax*4 - 0xbec]
movzx ecx, byte [ebp - 0xb6]
mov edx, dword [ebp - 0xfdc]
sub edx, ecx
imul edx, dword [ebp - 0xac8]
movzx ecx, byte [ebp - 0xb6]
mov esi, dword [ebp - 0xac8]
imul esi, ecx
add edx, esi
movzx ecx, byte [ebp - 0xb8]
mov esi, dword [ebp - 0x548]
imul esi, ecx
add edx, esi
imul eax, edx
imul eax, eax, 0xe0cd
mov ecx, dword [ebp - 0x128]
cmp eax, dword [ebp + ecx*4 - 0xbec]
jg 0x402344
mov dword [ebp - 0xad0], 1
jmp 0x40234b
and dword [ebp - 0xad0], 0
mov eax, dword [ebp - 0xad0]
mov dword [ebp - 0xdd8], eax
mov dword [ebp - 0x550], 0xffffffff
mov byte [ebp - 0x1ff], 0xcb
mov byte [ebp - 0x201], 0xcc
movzx eax, byte [ebp - 0x1ff]
imul eax, dword [ebp - 0x550]
mov ecx, dword [ebp - 0xdd8]
add ecx, eax
mov dword [ebp - 0xc48], ecx
mov al, byte [ebp - 0x201]
mov byte [ebp - 0x203], al
mov eax, dword [ebp - 0x550]
mov dword [ebp - 0xad8], eax
mov byte [ebp - 0xba], 0xb4
movzx eax, byte [ebp - 0x203]
movzx ecx, byte [ebp - 0xba]
sub eax, ecx
imul eax, dword [ebp - 0xad8]
movzx ecx, byte [ebp - 0xba]
mov edx, dword [ebp - 0xad8]
imul edx, ecx
add eax, edx
mov dword [ebp - 0x558], eax
mov byte [ebp - 0x205], 0x16
mov byte [ebp - 0x207], 0x17
movzx eax, byte [ebp - 0x205]
imul eax, dword [ebp - 0x558]
mov ecx, dword [ebp - 0xc48]
add ecx, eax
movzx eax, byte [ebp - 0x207]
imul eax, dword [ebp - 0x558]
sub ecx, eax
cmp ecx, 4
jle 0x40242e
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xbec], 0
je 0x40242e
mov dword [ebp - 0xae0], 1
jmp 0x402435
and dword [ebp - 0xae0], 0
cmp dword [ebp - 0xae0], 0
jbe 0x402453
cmp dword [ebp - 0x560], 0
je 0x402453
mov dword [ebp - 0xae8], 1
jmp 0x40245a
and dword [ebp - 0xae8], 0
mov eax, dword [ebp - 0xae8]
mov dword [ebp - 0xde0], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0xaf0], eax
mov byte [ebp - 0x209], 0xa8
mov byte [ebp - 0x20b], 0xa9
mov al, byte [ebp - 0x209]
mov byte [ebp - 0x3c5], al
mov eax, dword [ebp - 0xaf0]
mov dword [ebp - 0x10e8], eax
mov eax, dword [ebp - 0xde0]
mov dword [ebp - 0x10ec], eax
mov al, byte [ebp - 0x20b]
mov byte [ebp - 0x42d], al
mov eax, dword [ebp - 0xaf0]
mov dword [ebp - 0x10f4], eax
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0xbec]
mov dword [ebp - 0x10fc], eax
cmp dword [ebp - 4], 0
jne 0x4024e4
cmp dword [ebp - 0xaf8], 0
jne 0x4024e4
and dword [ebp - 0x570], 0
jmp 0x4024ee
mov dword [ebp - 0x570], 1
mov eax, dword [ebp - 0x570]
mov dword [ebp - 0xaf8], eax
jmp 0x402206
jmp 0x4021d5
mov dword [ebp - 0x304], 8
mov dword [ebp - 0x3a0], 0
jmp 0x402527
mov eax, dword [ebp - 0x3a0]
inc eax
mov dword [ebp - 0x3a0], eax
cmp dword [ebp - 0x3a0], 2
jge 0x402543
mov eax, dword [ebp - 0x3a0]
mov dword [ebp + eax*4 - 0x1110], 0x7862
jmp 0x40251a
mov dword [ebp - 0x304], 0
jmp 0x40255c
mov eax, dword [ebp - 0x304]
inc eax
mov dword [ebp - 0x304], eax
cmp dword [ebp - 0x304], 1
jg 0x4025cf
mov dword [ebp - 0x2ec], 0xffffffff
mov byte [ebp - 0x20d], 0
movzx eax, byte [ebp - 0x20d]
test eax, eax
je 0x402597
push 0
push 0
push 0x2515
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_DefWindowProcA]
mov dword [ebp - 0x2ec], 0
jmp 0x4025b0
mov eax, dword [ebp - 0x2ec]
inc eax
mov dword [ebp - 0x2ec], eax
cmp dword [ebp - 0x2ec], 1
jg 0x4025cd
mov eax, dword [ebp - 0x2ec]
cmp dword [ebp + eax*4 - 0x1110], 0
je 0x4025cb
jmp 0x4025cd
jmp 0x4025a3
jmp 0x40254f
mov dword [ebp - 0x61c], 0x689bb5c
mov dword [ebp - 0x1104], 0xfffffffc
mov byte [ebp - 0x20f], 0
movzx eax, byte [ebp - 0x20f]
test eax, eax
je 0x402610
push 0x110e
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]
mov byte [ebp - 0x211], 0
movzx eax, byte [ebp - 0x211]
test eax, eax
je 0x40262f
push 0x255
push 0
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x354], 0
jmp 0x402648
mov eax, dword [ebp - 0x354]
inc eax
mov dword [ebp - 0x354], eax
cmp dword [ebp - 0x354], 2
jge 0x402664
mov eax, dword [ebp - 0x354]
mov dword [ebp + eax*4 - 0x2f8], 9
jmp 0x40263b
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0x35c], 0x5b1b6fd4
mov dword [ebp - 0xc88], 1
mov dword [ebp - 0x119c], 8
mov dword [ebp - 0x30c], 0
jmp 0x4026a5
mov eax, dword [ebp - 0x30c]
inc eax
mov dword [ebp - 0x30c], eax
cmp dword [ebp - 0x30c], 4
jge 0x4026c1
mov eax, dword [ebp - 0x30c]
mov dword [ebp + eax*4 - 0xfec], 0x4e064826
jmp 0x402698
mov dword [ebp - 0xcc], 0
jmp 0x4026da
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 4
jge 0x4026f6
mov eax, dword [ebp - 0xcc]
mov dword [ebp + eax*4 - 0xfec], 0
jmp 0x4026cd
mov dword [ebp - 0xcc], 0
jmp 0x40270f
mov eax, dword [ebp - 0xcc]
dec eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0xfffffffc
jg 0x402dc7
mov dword [ebp - 0x140], 0x34e6d4f2
mov dword [ebp - 0x578], 0x27289fff
mov dword [ebp - 0xb30], 0xffffffff
mov dword [ebp - 0x37c], 0x7f4ea14c
mov dword [ebp - 0x314], 0xffffffff
mov byte [ebp - 0x213], 0
movzx eax, byte [ebp - 0x213]
test eax, eax
je 0x40276a
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_EqualSid]
mov dword [ebp - 0x140], 3
jmp 0x402783
mov eax, dword [ebp - 0x140]
dec eax
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
jl 0x402dc2
mov dword [ebp - 0x10a0], 0xbaaa
mov dword [ebp - 0x109c], 0xbaaa
mov dword [ebp - 0x1098], 0xbaaa
mov dword [ebp - 0x1094], 0xbaaa
mov dword [ebp - 0xc58], 0x7d8cf4c5
mov dword [ebp - 0x35c], 1
mov eax, dword [ebp - 0x35c]
mov dword [ebp - 0x578], eax
cmp dword [ebp - 0x578], 0xf3cc
je 0x4027f0
mov dword [ebp - 0xb00], 1
jmp 0x4027f7
and dword [ebp - 0xb00], 0
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x140]
mov ecx, dword [ebp + ecx*4 - 0xfec]
add ecx, dword [ebp - 0xb00]
cmp dword [ebp + eax*4 - 0xfec], ecx
jg 0x402825
mov dword [ebp - 0x580], 1
jmp 0x40282c
and dword [ebp - 0x580], 0
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp + eax*4 - 0xfec]
cmp dword [ebp - 0x580], eax
jl 0x40284d
mov dword [ebp - 0xb08], 1
jmp 0x402854
and dword [ebp - 0xb08], 0
cmp dword [ebp - 0xb08], 0xa116
jg 0x40286c
mov dword [ebp - 0x588], 1
jmp 0x402873
and dword [ebp - 0x588], 0
cmp dword [ebp - 0x588], 0xfffffffc
jge 0x402888
mov dword [ebp - 0xb10], 1
jmp 0x40288f
and dword [ebp - 0xb10], 0
mov eax, dword [ebp - 0xb10]
mov dword [ebp - 0x590], eax
mov byte [ebp - 0x215], 0xe9
mov byte [ebp - 0x217], 0xea
mov al, byte [ebp - 0x215]
mov byte [ebp - 0x21b], al
mov eax, dword [ebp - 0x590]
mov dword [ebp - 0x598], eax
mov byte [ebp - 0xbe], 0xb5
mov al, byte [ebp - 0x217]
mov byte [ebp - 0x219], al
mov eax, dword [ebp - 0x590]
mov dword [ebp - 0xb18], eax
mov byte [ebp - 0xbc], 0xf3
movzx eax, byte [ebp - 0x219]
movzx ecx, byte [ebp - 0xbc]
sub eax, ecx
imul eax, dword [ebp - 0xb18]
mov dword [ebp - 0xdf0], eax
movzx eax, byte [ebp - 0xbc]
mov ecx, dword [ebp - 0xb18]
imul ecx, eax
mov dword [ebp - 0x5a0], ecx
mov byte [ebp - 0x21d], 0x17
mov byte [ebp - 0x21f], 0x18
mov eax, dword [ebp - 0x598]
mov dword [ebp - 0xde8], eax
mov al, byte [ebp - 0xbe]
mov byte [ebp - 0xc2], al
mov byte [ebp - 0xc4], 0xae
movzx eax, byte [ebp - 0x21b]
movzx ecx, byte [ebp - 0xbe]
sub eax, ecx
mov dword [ebp - 0xc50], eax
mov eax, dword [ebp - 0x598]
mov dword [ebp - 0xb20], eax
mov byte [ebp - 0xc0], 0xd1
movzx eax, byte [ebp - 0xc0]
mov ecx, dword [ebp - 0xc50]
sub ecx, eax
imul ecx, dword [ebp - 0xb20]
movzx eax, byte [ebp - 0xc0]
mov edx, dword [ebp - 0xb20]
imul edx, eax
add ecx, edx
movzx eax, byte [ebp - 0xc4]
mov edx, dword [ebp - 0xde8]
sub edx, eax
movzx eax, byte [ebp - 0xc2]
imul edx, eax
movzx eax, byte [ebp - 0xc2]
movzx esi, byte [ebp - 0xc4]
imul eax, esi
add edx, eax
add ecx, edx
mov eax, dword [ebp - 0xc58]
add eax, ecx
movzx ecx, byte [ebp - 0x21d]
imul ecx, dword [ebp - 0x5a0]
mov edx, dword [ebp - 0xdf0]
sub edx, ecx
movzx ecx, byte [ebp - 0x21f]
imul ecx, dword [ebp - 0x5a0]
add edx, ecx
sub eax, edx
cmp eax, 5
jbe 0x402a07
mov dword [ebp - 0xb28], 1
jmp 0x402a0e
and dword [ebp - 0xb28], 0
mov eax, dword [ebp - 0xcc]
cmp dword [ebp - 0xb28], eax
jg 0x402a28
mov dword [ebp - 0x5a8], 1
jmp 0x402a2f
and dword [ebp - 0x5a8], 0
mov eax, dword [ebp - 0x5a8]
mov dword [ebp - 0xb30], eax
mov eax, dword [ebp - 0xb30]
mov dword [ebp - 0x37c], eax
cmp dword [ebp - 0x37c], 0
jne 0x402a69
mov eax, dword [ebp - 0x140]
cmp dword [ebp + eax*4 - 0xfec], 0
jne 0x402a69
and dword [ebp - 0x5b0], 0
jmp 0x402a73
mov dword [ebp - 0x5b0], 1
mov eax, dword [ebp - 0x5b0]
mov dword [ebp - 0x314], eax
cmp dword [ebp - 0x314], 0
je 0x402aa4
mov dword [ebp - 0xb38], 0xffffffff
mov eax, dword [ebp - 0xb38]
inc eax
mov dword [ebp - 0xb38], eax
jmp 0x402dbd
mov dword [ebp - 0xc60], 0x122d800
cmp dword [ebp - 0xc60], 0
jne 0x402ac9
cmp dword [ebp - 0x314], 0
jne 0x402ac9
and dword [ebp - 0x5b8], 0
jmp 0x402ad3
mov dword [ebp - 0x5b8], 1
mov eax, dword [ebp - 0x37c]
add eax, dword [ebp - 0x5b8]
mov dword [ebp - 0xdf8], eax
mov dword [ebp - 0xb40], 0x116e074f
mov byte [ebp - 0x223], 0x43
mov byte [ebp - 0x221], 0x44
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xc68], eax
mov eax, dword [ebp - 0x37c]
mov dword [ebp - 0x5c0], eax
mov byte [ebp - 0x9b], 0xae
mov al, byte [ebp - 0x221]
mov byte [ebp - 0x274], al
mov eax, dword [ebp - 0xb40]
mov dword [ebp - 0xb58], eax
mov byte [ebp - 0x43], 0xd6
mov eax, dword [ebp - 0xdf8]
mov dword [ebp - 0xe08], eax
movzx eax, byte [ebp - 0x223]
imul eax, dword [ebp - 0xb40]
mov dword [ebp - 0xb48], eax
mov byte [ebp - 0x147], 0x95
mov byte [ebp - 0x247], 0x96
mov eax, dword [ebp - 0xc68]
mov dword [ebp - 0xe00], eax
mov al, byte [ebp - 0x9b]
mov byte [ebp - 0x3f], al
mov byte [ebp - 0x225], 8
mov byte [ebp - 0x227], 9
movzx eax, byte [ebp - 0x225]
movzx ecx, byte [ebp - 0x3f]
imul eax, ecx
mov ecx, dword [ebp - 0xe00]
add ecx, eax
movzx eax, byte [ebp - 0x227]
movzx edx, byte [ebp - 0x3f]
imul eax, edx
sub ecx, eax
mov dword [ebp - 0xc70], ecx
mov eax, dword [ebp - 0x5c0]
mov dword [ebp - 0x5d8], eax
mov byte [ebp - 0xdf], 0x44
mov al, byte [ebp - 0x247]
mov byte [ebp - 0x14b], al
mov eax, dword [ebp - 0xb48]
mov dword [ebp - 0xb50], eax
mov byte [ebp - 0x41], 0xfd
mov eax, dword [ebp - 0xc70]
mov dword [ebp - 0xe18], eax
mov al, byte [ebp - 0xdf]
mov byte [ebp - 0x47], al
mov byte [ebp - 0x14d], 0xa4
mov byte [ebp - 0x276], 0xa5
mov eax, dword [ebp - 0x5c0]
mov dword [ebp - 0xc80], eax
mov al, byte [ebp - 0x9b]
mov byte [ebp - 0x9d], al
mov byte [ebp - 0x45], 0xe
mov eax, dword [ebp - 0xe08]
mov dword [ebp - 0xc78], eax
movzx eax, byte [ebp - 0x147]
imul eax, dword [ebp - 0xb48]
mov dword [ebp - 0x5c8], eax
mov byte [ebp - 0x149], 0x44
mov byte [ebp - 0x21e], 0x45
movzx eax, byte [ebp - 0x274]
movzx ecx, byte [ebp - 0x43]
sub eax, ecx
mov dword [ebp - 0xe10], eax
mov eax, dword [ebp - 0xb58]
mov dword [ebp - 0x5d0], eax
mov byte [ebp - 0xcf], 0xf0
cmp dword [ebp - 0x314], 0
jne 0x402d99
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0xfec]
mov dword [ebp - 0x11a4], eax
movzx eax, byte [ebp - 0x149]
imul eax, dword [ebp - 0x5c8]
mov ecx, dword [ebp - 0xc78]
add ecx, eax
movzx eax, byte [ebp - 0x21e]
imul eax, dword [ebp - 0x5c8]
sub ecx, eax
movzx eax, byte [ebp - 0x14b]
movzx edx, byte [ebp - 0x41]
sub eax, edx
imul eax, dword [ebp - 0xb50]
movzx edx, byte [ebp - 0x41]
mov esi, dword [ebp - 0xb50]
imul esi, edx
add eax, esi
add ecx, eax
movzx eax, byte [ebp - 0xcf]
mov edx, dword [ebp - 0xe10]
sub edx, eax
imul edx, dword [ebp - 0x5d0]
movzx eax, byte [ebp - 0xcf]
mov esi, dword [ebp - 0x5d0]
imul esi, eax
add edx, esi
movzx eax, byte [ebp - 0x43]
mov esi, dword [ebp - 0xb58]
imul esi, eax
add edx, esi
sub ecx, edx
mov dword [ebp - 0x35c], ecx
movzx eax, byte [ebp - 0x45]
movzx ecx, byte [ebp - 0x9d]
imul ecx, eax
movzx eax, byte [ebp - 0x9d]
movzx edx, byte [ebp - 0x45]
mov esi, dword [ebp - 0xc80]
sub esi, edx
imul esi, eax
add esi, ecx
movzx eax, byte [ebp - 0xdf]
mov ecx, dword [ebp - 0x5d8]
imul ecx, eax
movzx eax, byte [ebp - 0x47]
movzx edx, byte [ebp - 0x276]
imul edx, eax
movzx eax, byte [ebp - 0x47]
movzx edi, byte [ebp - 0x14d]
imul edi, eax
mov eax, dword [ebp - 0xe18]
add eax, edi
sub eax, edx
imul eax, dword [ebp - 0x5d8]
add eax, ecx
add eax, esi
cmp eax, dword [ebp - 0x35c]
jl 0x402d99
and dword [ebp - 0xb60], 0
jmp 0x402da3
mov dword [ebp - 0xb60], 1
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x10a0]
imul eax, dword [ebp - 0xb60]
mov dword [ebp - 0xc88], eax
jmp 0x402776
jmp 0x402702
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x2f8], 0
jmp 0x402df5
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2f8]
dec eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x2f8], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x2f8], 0xfffffff5
jg 0x4032a7
mov dword [ebp - 0x34], 0x60f7e730
mov dword [ebp - 0x450], 0xffff
mov dword [ebp - 0x62c], 1
mov dword [ebp - 0xf8], 0
jmp 0x402e3d
mov eax, dword [ebp - 0xf8]
inc eax
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 2
jge 0x402e59
mov eax, dword [ebp - 0xf8]
mov dword [ebp + eax*4 - 0x1020], 4
jmp 0x402e30
mov dword [ebp - 0xf8], 0
jmp 0x402e72
mov eax, dword [ebp - 0xf8]
inc eax
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 4
jge 0x402e8e
mov eax, dword [ebp - 0xf8]
mov dword [ebp + eax*4 - 0x12dc], 0x832cb818
jmp 0x402e65
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xc90], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2f8]
mov dword [ebp - 0x5e0], eax
mov byte [ebp - 0x220], 0xa3
mov byte [ebp - 0x14f], 0xa4
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x2f8]
mov dword [ebp - 0xe20], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xe20]
mov dword [ebp + eax - 0x1020], ecx
mov al, byte [ebp - 0x220]
mov byte [ebp - 0x3cd], al
mov eax, dword [ebp - 0x5e0]
mov dword [ebp - 0x11ac], eax
mov eax, dword [ebp - 0xc90]
mov dword [ebp - 0x11b4], eax
mov al, byte [ebp - 0x14f]
mov byte [ebp - 0x449], al
mov eax, dword [ebp - 0x5e0]
mov dword [ebp - 0x11bc], eax
mov eax, 0x8f1fe3d2
test eax, eax
je 0x402f2c
mov eax, 0x6ed4bca9
test eax, eax
jne 0x402f45
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x1020], 0
jne 0x402f45
and dword [ebp - 0xb68], 0
jmp 0x402f4f
mov dword [ebp - 0xb68], 1
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xb68]
sub ecx, dword [ebp + eax - 0x2f8]
cmp ecx, 0xa0e40209
jne 0x402f76
mov dword [ebp - 0x5e8], 1
jmp 0x402f7d
and dword [ebp - 0x5e8], 0
mov eax, dword [ebp - 0x5e8]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0xe28], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xb70], eax
mov byte [ebp - 0x9f], 0xe7
mov al, byte [ebp - 0x9f]
mov byte [ebp - 0x3d5], al
mov eax, dword [ebp - 0xe28]
mov dword [ebp - 0x11c4], eax
mov eax, dword [ebp - 0xb70]
mov dword [ebp - 0x11cc], eax
mov al, byte [ebp - 0x9f]
mov byte [ebp - 0x435], al
mov eax, dword [ebp - 0xb70]
mov dword [ebp - 0x11d4], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x34]
cmp dword [ebp + eax - 0x2f8], ecx
jne 0x402ff6
mov dword [ebp - 0x5f0], 1
jmp 0x402ffd
and dword [ebp - 0x5f0], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2f8]
cmp dword [ebp - 0x5f0], eax
je 0x40301e
mov dword [ebp - 0xb78], 1
jmp 0x403025
and dword [ebp - 0xb78], 0
mov eax, dword [ebp - 0xb78]
mov dword [ebp - 0xc98], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2f8]
mov dword [ebp - 0x5f8], eax
mov byte [ebp - 0x278], 7
mov byte [ebp - 0x151], 8
movzx eax, byte [ebp - 0x278]
imul eax, dword [ebp - 0x5f8]
mov ecx, dword [ebp - 0xc98]
sub ecx, eax
movzx eax, byte [ebp - 0x151]
imul eax, dword [ebp - 0x5f8]
add ecx, eax
push 4
pop eax
shl eax, 0
cmp ecx, dword [ebp + eax - 0x2f8]
jne 0x403093
mov dword [ebp - 0xb80], 1
jmp 0x40309a
and dword [ebp - 0xb80], 0
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0xb80], eax
jge 0x4030b1
mov dword [ebp - 0x600], 1
jmp 0x4030b8
and dword [ebp - 0x600], 0
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x600]
cmp eax, dword [ebp - 0x34]
jge 0x4030d3
mov dword [ebp - 0xb88], 1
jmp 0x4030da
and dword [ebp - 0xb88], 0
mov eax, dword [ebp - 0xb88]
mov dword [ebp - 0xe30], eax
mov dword [ebp - 0x608], 0xcf6a
mov byte [ebp - 0x49], 0xb2
movzx eax, byte [ebp - 0x49]
mov ecx, dword [ebp - 0xe30]
sub ecx, eax
imul ecx, dword [ebp - 0x608]
mov dword [ebp - 0xca0], ecx
movzx eax, byte [ebp - 0x49]
mov ecx, dword [ebp - 0x608]
imul ecx, eax
mov dword [ebp - 0xb90], ecx
mov byte [ebp - 0x222], 0xab
mov byte [ebp - 0x153], 0xac
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1258], eax
movzx eax, byte [ebp - 0x222]
imul eax, dword [ebp - 0xb90]
mov ecx, dword [ebp - 0xca0]
sub ecx, eax
movzx eax, byte [ebp - 0x153]
imul eax, dword [ebp - 0xb90]
add ecx, eax
push 4
pop eax
shl eax, 1
cmp ecx, dword [ebp + eax - 0x12dc]
je 0x403177
mov dword [ebp - 0x610], 1
jmp 0x40317e
and dword [ebp - 0x610], 0
mov eax, dword [ebp - 0x610]
neg eax
mov dword [ebp - 0xb98], eax
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0xb98]
mov dword [ebp + eax - 0x12dc], ecx
cmp dword [ebp - 0xb98], 0
je 0x4031cf
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x12dc], 0
je 0x4031cf
mov eax, 0x3337672a
test eax, eax
je 0x4031cf
xor eax, eax
je 0x4031cf
mov dword [ebp - 0xe38], 1
jmp 0x4031d6
and dword [ebp - 0xe38], 0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1260], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1268], eax
mov dword [ebp - 0x34], 0xe588
cmp dword [ebp - 0x34], 0
je 0x40320a
cmp dword [ebp - 0x450], 0
je 0x40320a
mov dword [ebp - 0xba0], 1
jmp 0x403211
and dword [ebp - 0xba0], 0
mov eax, dword [ebp - 0xba0]
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
jne 0x403238
cmp dword [ebp - 0x450], 0
jne 0x403238
and dword [ebp - 0xbfc], 0
jmp 0x403242
mov dword [ebp - 0xbfc], 1
cmp dword [ebp - 0xbfc], 0
ja 0x403257
mov dword [ebp - 0x624], 1
jmp 0x40325e
and dword [ebp - 0x624], 0
mov eax, dword [ebp - 0x450]
imul eax, dword [ebp - 0x624]
test eax, eax
je 0x403281
cmp dword [ebp - 0x34], 0
je 0x403281
mov dword [ebp - 0x924], 1
jmp 0x403288
and dword [ebp - 0x924], 0
mov eax, dword [ebp - 0x924]
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 0
je 0x4032a2
jmp 0x402dda
jmp 0x402dda
mov dword [ebp - 0x1270], 0x3623
mov dword [ebp - 0x43c], 0x3af7
mov dword [ebp - 0x31c], 0xb622b607
mov dword [ebp - 0x644], 3
mov dword [ebp - 0x2c], 0
jmp 0x4032df
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jge 0x4032f5
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x2e8], 0xfffffff9
jmp 0x4032d8
mov dword [ebp - 0x2c], 0
jmp 0x403305
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x40331b
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x4c4], 0x7632667a
jmp 0x4032fe
mov dword [ebp - 0x2c], 0
jmp 0x40332b
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jge 0x403341
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x1040], 0xaba8d6e8
jmp 0x403324
push 4
pop eax
shl eax, 1
mov dword [ebp + eax - 0x4c4], 0
jmp 0x40336c
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x4c4]
inc eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x4c4], eax
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x4c4], 1
jge 0x403394
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x4c4]
mov dword [ebp + eax*4 - 0x2e8], 0xcd795364
jmp 0x403353
mov dword [ebp - 0xe40], 0x41e4
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x4c4]
mov dword [ebp - 0x1278], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2e8]
mov dword [ebp - 0xca8], eax
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0xaa4], eax
mov byte [ebp - 0x27a], 0xe7
mov byte [ebp - 0x155], pe_nt_image_headers32
mov eax, dword [ebp - 0x31c]
inc eax
mov dword [ebp - 0x31c], eax
push 4
pop eax
shl eax, 1
movzx ecx, byte [ebp - 0x27a]
imul ecx, dword [ebp - 0xaa4]
mov edx, dword [ebp - 0xca8]
sub edx, ecx
movzx ecx, byte [ebp - 0x155]
imul ecx, dword [ebp - 0xaa4]
add edx, ecx
cmp dword [ebp + eax - 0x4c4], edx
jle 0x40342a
mov dword [ebp - 0x634], 1
jmp 0x403431
and dword [ebp - 0x634], 0
mov eax, dword [ebp - 0x31c]
cmp dword [ebp - 0x634], eax
jle 0x40344b
mov dword [ebp - 0x3e8], 1
jmp 0x403452
and dword [ebp - 0x3e8], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x3e8]
mov dword [ebp + eax - 0x2e8], ecx
mov eax, dword [ebp - 0x43c]
cmp dword [ebp - 0x3e8], eax
jne 0x403485
mov eax, 0xfff8
test eax, eax
jne 0x403485
and dword [ebp - 0x92c], 0
jmp 0x40348f
mov dword [ebp - 0x92c], 1
mov eax, dword [ebp - 0x43c]
add eax, dword [ebp - 0x92c]
push 4
pop ecx
shl ecx, 1
add eax, dword [ebp + ecx - 0x4c4]
jne 0x4034bb
mov eax, 0xede5c489
test eax, eax
jne 0x4034bb
and dword [ebp - 0x63c], 0
jmp 0x4034c5
mov dword [ebp - 0x63c], 1
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x63c]
mov dword [ebp + eax - 0x1040], ecx
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x1040], 0
jne 0x4034f4
mov dword [ebp - 0xb64], 1
jmp 0x4034fb
and dword [ebp - 0xb64], 0
mov eax, dword [ebp - 0xb64]
mov dword [ebp - 0x644], eax
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x4c4]
mov dword [ebp - 0x1280], eax
mov eax, dword [ebp - 0x644]
mov dword [ebp - 0x1294], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2e8]
mov dword [ebp - 0x129c], eax
mov dword [ebp - 0x934], 0x90b8
mov byte [ebp - 0xd1], 0x13
mov eax, dword [ebp - 0xe40]
mov dword [ebp - 0xcb0], eax
mov al, byte [ebp - 0xd1]
mov byte [ebp - 0x4b], al
mov byte [ebp - 0x224], 0x69
mov byte [ebp - 0x157], 0x6a
mov eax, dword [ebp - 0x934]
mov dword [ebp - 0xe48], eax
mov al, byte [ebp - 0xd1]
mov byte [ebp - 0xa1], al
mov byte [ebp - 0x4d], 0x3f
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x2e8], 0
je 0x403602
movzx eax, byte [ebp - 0x224]
movzx ecx, byte [ebp - 0x4b]
imul eax, ecx
mov ecx, dword [ebp - 0xcb0]
add ecx, eax
movzx eax, byte [ebp - 0x157]
movzx edx, byte [ebp - 0x4b]
imul eax, edx
sub ecx, eax
imul ecx, dword [ebp - 0x934]
movzx eax, byte [ebp - 0x4d]
mov edx, dword [ebp - 0xe48]
sub edx, eax
movzx eax, byte [ebp - 0xa1]
imul edx, eax
movzx eax, byte [ebp - 0xa1]
movzx esi, byte [ebp - 0x4d]
imul eax, esi
add edx, eax
add ecx, edx
jne 0x4035f6
push 8
pop eax
test eax, eax
je 0x403602
mov dword [ebp - 0x4c8], 1
jmp 0x403609
and dword [ebp - 0x4c8], 0
cmp dword [ebp - 0x4c8], 0xfff8
je 0x403621
mov dword [ebp - 0xaac], 1
jmp 0x403628
and dword [ebp - 0xaac], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x4c4]
cmp dword [ebp - 0xaac], eax
je 0x403648
mov dword [ebp - 0x654], 1
jmp 0x40364f
and dword [ebp - 0x654], 0
cmp dword [ebp - 0x654], 1
jbe 0x403664
mov dword [ebp - 0x93c], 1
jmp 0x40366b
and dword [ebp - 0x93c], 0
mov eax, dword [ebp - 0x43c]
imul eax, dword [ebp - 0x93c]
push 4
pop ecx
shl ecx, 1
cmp eax, dword [ebp + ecx - 0x4c4]
jne 0x403692
mov dword [ebp - 0x65c], 1
jmp 0x403699
and dword [ebp - 0x65c], 0
cmp dword [ebp - 0x65c], 0xcd4d3380
jbe 0x4036b1
mov dword [ebp - 0xbc4], 1
jmp 0x4036b8
and dword [ebp - 0xbc4], 0
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0xbc4]
mov dword [ebp + eax - 0x4c4], ecx
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x2b0], 0xa3cfce29
mov dword [ebp - 0x458], 1
mov dword [ebp - 0x120], 0
jmp 0x403701
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 2
jge 0x40371d
mov eax, dword [ebp - 0x120]
mov dword [ebp + eax*4 - 0x3b0], 0xcdbe8e56
jmp 0x4036f4
mov dword [ebp - 0x120], 0
jmp 0x403736
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 4
jge 0x403752
mov eax, dword [ebp - 0x120]
mov dword [ebp + eax*4 - 0x1060], 0xb5486b6f
jmp 0x403729
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x3b0]
mov dword [ebp - 0xe58], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x3b0]
mov dword [ebp - 0xcb8], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x3b0]
mov dword [ebp - 0x664], eax
mov byte [ebp - 0xdb], 0x25
movzx eax, byte [ebp - 0xdb]
mov ecx, dword [ebp - 0xcb8]
sub ecx, eax
mov dword [ebp - 0xe50], ecx
mov eax, dword [ebp - 0x664]
mov dword [ebp - 0x944], eax
mov byte [ebp - 0x4f], 0x43
mov eax, dword [ebp - 0x664]
mov dword [ebp - 0xcc0], eax
mov al, byte [ebp - 0xdb]
mov byte [ebp - 0xa3], al
mov byte [ebp - 0x51], 0x77
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x3b0]
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0
jne 0x403828
movzx eax, byte [ebp - 0x4f]
mov ecx, dword [ebp - 0xe50]
sub ecx, eax
imul ecx, dword [ebp - 0x944]
movzx eax, byte [ebp - 0x4f]
mov edx, dword [ebp - 0x944]
movzx eax, byte [ebp - 0x51]
mov edx, dword [ebp - 0xcc0]
movzx eax, byte [ebp - 0xa3]
movzx eax, byte [ebp - 0xa3]
movzx esi, byte [ebp - 0x51]
mov eax, 0xfdeb
neg eax
cmp eax, 9
jne 0x403840
mov dword [ebp - 0x66c], 1
jmp 0x403847
and dword [ebp - 0x66c], 0
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0
jb 0x403868
mov dword [ebp - 0xab4], 1
jmp 0x40386f
and dword [ebp - 0xab4], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x3b0]
add eax, dword [ebp - 0xab4]
je 0x403895
xor eax, eax
inc eax
je 0x403895
mov dword [ebp - 0x674], 1
jmp 0x40389c
and dword [ebp - 0x674], 0
mov eax, dword [ebp - 0x674]
mov dword [ebp - 0x94c], eax
mov byte [ebp - 0xd3], 0xc4
mov eax, dword [ebp - 0xe58]
mov dword [ebp - 0xcc8], eax
mov al, byte [ebp - 0xd3]
mov byte [ebp - 0x53], al
mov byte [ebp - 0x27c], 0x90
mov byte [ebp - 0x159], 0x91
mov al, byte [ebp - 0x27c]
mov byte [ebp - 0x226], al
mov al, byte [ebp - 0x53]
mov byte [ebp - 0xa5], al
mov byte [ebp - 0x55], 0x76
mov eax, dword [ebp - 0x94c]
mov dword [ebp - 0xe60], eax
mov al, byte [ebp - 0xd3]
mov byte [ebp - 0xa7], al
mov byte [ebp - 0x59], 0x6a
mov al, byte [ebp - 0x159]
mov byte [ebp - 0x15b], al
mov al, byte [ebp - 0x53]
mov byte [ebp - 0xe3], al
mov byte [ebp - 0x57], 0x1a
movzx eax, byte [ebp - 0x226]
movzx ecx, byte [ebp - 0x55]
sub eax, ecx
movzx ecx, byte [ebp - 0xa5]
imul eax, ecx
movzx ecx, byte [ebp - 0xa5]
movzx edx, byte [ebp - 0x55]
imul ecx, edx
add eax, ecx
mov ecx, dword [ebp - 0xcc8]
add ecx, eax
movzx eax, byte [ebp - 0x15b]
movzx edx, byte [ebp - 0x57]
sub eax, edx
movzx edx, byte [ebp - 0xe3]
imul eax, edx
movzx edx, byte [ebp - 0xe3]
movzx esi, byte [ebp - 0x57]
imul edx, esi
add eax, edx
sub ecx, eax
imul ecx, dword [ebp - 0x94c]
movzx eax, byte [ebp - 0x59]
mov edx, dword [ebp - 0xe60]
sub edx, eax
movzx eax, byte [ebp - 0xa7]
imul edx, eax
movzx eax, byte [ebp - 0xa7]
movzx esi, byte [ebp - 0x59]
imul eax, esi
add edx, eax
add ecx, edx
mov dword [ebp - 0x67c], ecx
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x67c]
mov dword [ebp + eax - 0x1060], ecx
cmp dword [ebp - 0x67c], 0
je 0x403c34
mov dword [ebp - 0xcd0], 0xb611fb8e
mov dword [ebp - 0xce8], 5
mov dword [ebp - 0x2fc], 0
jmp 0x4039fa
mov eax, dword [ebp - 0x2fc]
inc eax
mov dword [ebp - 0x2fc], eax
cmp dword [ebp - 0x2fc], 1
jge 0x403a16
mov eax, dword [ebp - 0x2fc]
mov dword [ebp + eax*4 - 0xb6c], 0x48a2
jmp 0x4039ed
mov dword [ebp - 0x22c], 0
jmp 0x403a2f
mov eax, dword [ebp - 0x22c]
inc eax
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 3
jg 0x403a4c
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x3b0], 0
je 0x403a4a
jmp 0x403a4c
jmp 0x403a22
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xb6c]
mov dword [ebp - 0xcd0], eax
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0xb6c]
cmp dword [ebp + eax - 0x1060], ecx
jg 0x403a87
mov dword [ebp - 0x684], 1
jmp 0x403a8e
and dword [ebp - 0x684], 0
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xe68], eax
mov dword [ebp - 0x954], 1
mov byte [ebp - 0xd5], 0x84
mov eax, dword [ebp - 0x954]
mov dword [ebp - 0xe78], eax
mov al, byte [ebp - 0xd5]
mov byte [ebp - 0xdd], al
mov byte [ebp - 0x5d], 0xc4
mov eax, dword [ebp - 0xe68]
mov dword [ebp - 0xcd8], eax
mov al, byte [ebp - 0xd5]
mov byte [ebp - 0x5b], al
mov byte [ebp - 0x27e], 0x13
mov byte [ebp - 0x15d], 0x14
movzx eax, byte [ebp - 0x27e]
movzx ecx, byte [ebp - 0x5b]
imul eax, ecx
mov ecx, dword [ebp - 0xcd8]
add ecx, eax
movzx eax, byte [ebp - 0x15d]
movzx edx, byte [ebp - 0x5b]
imul eax, edx
sub ecx, eax
mov dword [ebp - 0xe70], ecx
mov eax, dword [ebp - 0x954]
mov dword [ebp - 0x68c], eax
mov byte [ebp - 0xa9], 0x62
movzx eax, byte [ebp - 0xa9]
mov ecx, dword [ebp - 0xe70]
sub ecx, eax
imul ecx, dword [ebp - 0x68c]
mov dword [ebp - 0xce0], ecx
movzx eax, byte [ebp - 0xa9]
mov ecx, dword [ebp - 0x68c]
imul ecx, eax
mov dword [ebp - 0xabc], ecx
mov byte [ebp - 0x228], 0x75
mov byte [ebp - 0x15f], 0x76
mov al, byte [ebp - 0xdd]
mov byte [ebp - 0x280], al
mov al, byte [ebp - 0x5d]
mov byte [ebp - 0x5f], al
mov byte [ebp - 0xab], 0xd3
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
shl ecx, 0
mov ecx, dword [ebp + ecx - 0x1060]
cmp dword [ebp + eax - 0x3b0], ecx
jl 0x403c19
movzx eax, byte [ebp - 0x228]
imul eax, dword [ebp - 0xabc]
mov ecx, dword [ebp - 0xce0]
sub ecx, eax
movzx eax, byte [ebp - 0x15f]
imul eax, dword [ebp - 0xabc]
add ecx, eax
movzx eax, byte [ebp - 0x5d]
mov edx, dword [ebp - 0xe78]
sub edx, eax
movzx eax, byte [ebp - 0xdd]
imul edx, eax
movzx eax, byte [ebp - 0x280]
movzx esi, byte [ebp - 0xab]
sub eax, esi
movzx esi, byte [ebp - 0x5f]
imul eax, esi
movzx esi, byte [ebp - 0x5f]
movzx edi, byte [ebp - 0xab]
imul esi, edi
add eax, esi
add edx, eax
add ecx, edx
jne 0x403c19
mov eax, 0xb88cdf8a
test eax, eax
jne 0x403c19
and dword [ebp - 0x694], 0
jmp 0x403c23
mov dword [ebp - 0x694], 1
mov eax, dword [ebp - 0x694]
mov dword [ebp - 0xce8], eax
jmp 0x40402d
mov dword [ebp - 0xcf8], 0x16309070
mov dword [ebp - 0xe98], 0x4826422f
mov dword [ebp - 0x28c], 0xfffffffb
mov dword [ebp - 0x3f0], 0xfffffff7
mov dword [ebp - 0x324], 0
jmp 0x403c75
mov eax, dword [ebp - 0x324]
inc eax
mov dword [ebp - 0x324], eax
cmp dword [ebp - 0x324], 3
jge 0x403c91
mov eax, dword [ebp - 0x324]
mov dword [ebp + eax*4 - 0x1090], 6
jmp 0x403c68
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0xe80], eax
mov eax, dword [ebp - 0x3f0]
inc eax
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x95c], eax
mov byte [ebp - 0x61], 0x75
movzx eax, byte [ebp - 0x61]
mov ecx, dword [ebp - 0xe80]
sub ecx, eax
imul ecx, dword [ebp - 0x95c]
movzx eax, byte [ebp - 0x61]
mov edx, dword [ebp - 0x95c]
imul edx, eax
add ecx, edx
je 0x403d04
mov eax, dword [ebp - 0x458]
cmp dword [ebp - 0x2b0], eax
jne 0x403d04
mov dword [ebp - 0x69c], 1
jmp 0x403d0b
and dword [ebp - 0x69c], 0
mov eax, dword [ebp - 0x69c]
mov dword [ebp - 0xcf0], eax
mov dword [ebp - 0xc04], 0xc63
mov byte [ebp - 0xd7], 0xc3
mov eax, dword [ebp - 0xcf0]
mov dword [ebp - 0xe90], eax
mov al, byte [ebp - 0xd7]
mov byte [ebp - 0xad], al
mov byte [ebp - 0x22d], 0x9e
mov byte [ebp - 0x161], 0x9f
mov eax, dword [ebp - 0xc04]
mov dword [ebp - 0xe88], eax
mov al, byte [ebp - 0xd7]
mov byte [ebp - 0xaf], al
mov byte [ebp - 0x63], 0x8d
mov al, byte [ebp - 0xaf]
mov byte [ebp - 0x235], al
mov al, byte [ebp - 0x63]
mov byte [ebp - 0x69], al
mov byte [ebp - 0xd9], 0x2c
mov al, byte [ebp - 0x161]
mov byte [ebp - 0x163], al
mov al, byte [ebp - 0xad]
mov byte [ebp - 0x65], al
mov byte [ebp - 0xe1], 0x2c
mov eax, dword [ebp - 0xe88]
mov dword [ebp - 0xd00], eax
mov al, byte [ebp - 0x63]
mov byte [ebp - 0x67], al
mov byte [ebp - 0x282], 0x6c
mov byte [ebp - 0x165], 0x6d
cmp dword [ebp - 0xcf8], 0xfff7
jbe 0x403dd7
mov dword [ebp - 0x6ac], 1
jmp 0x403dde
and dword [ebp - 0x6ac], 0
movzx eax, byte [ebp - 0x22d]
movzx ecx, byte [ebp - 0xad]
imul eax, ecx
mov ecx, dword [ebp - 0xe90]
add ecx, eax
movzx eax, byte [ebp - 0x163]
movzx edx, byte [ebp - 0xe1]
sub eax, edx
movzx edx, byte [ebp - 0x65]
imul eax, edx
movzx edx, byte [ebp - 0x65]
movzx esi, byte [ebp - 0xe1]
imul edx, esi
add eax, edx
sub ecx, eax
imul ecx, dword [ebp - 0xc04]
movzx eax, byte [ebp - 0x282]
movzx edx, byte [ebp - 0x67]
imul eax, edx
mov edx, dword [ebp - 0xd00]
add edx, eax
movzx eax, byte [ebp - 0x165]
movzx esi, byte [ebp - 0x67]
imul eax, esi
sub edx, eax
movzx eax, byte [ebp - 0xaf]
imul edx, eax
movzx eax, byte [ebp - 0x235]
movzx esi, byte [ebp - 0xd9]
sub eax, esi
movzx esi, byte [ebp - 0x69]
imul eax, esi
movzx esi, byte [ebp - 0x69]
movzx edi, byte [ebp - 0xd9]
imul esi, edi
add eax, esi
add edx, eax
add ecx, edx
push 4
pop eax
imul eax, eax, 0
cmp ecx, dword [ebp + eax - 0x1090]
jg 0x403e9d
mov dword [ebp - 0x6a4], 1
jmp 0x403ea4
and dword [ebp - 0x6a4], 0
mov eax, dword [ebp - 0x458]
cmp dword [ebp - 0x6a4], eax
jne 0x403ec4
cmp dword [ebp - 0x22c], 0
jne 0x403ec4
and dword [ebp - 0x3f8], 0
jmp 0x403ece
mov dword [ebp - 0x3f8], 1
push 4
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp + eax - 0x1060], ecx
mov eax, dword [ebp - 0x458]
cmp dword [ebp - 0x3f8], eax
jg 0x403efb
mov dword [ebp - 0x964], 1
jmp 0x403f02
and dword [ebp - 0x964], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x3b0]
add eax, dword [ebp - 0x964]
cmp eax, 0x5996
jl 0x403f28
mov dword [ebp - 0xac4], 1
jmp 0x403f2f
and dword [ebp - 0xac4], 0
mov eax, dword [ebp - 0x6ac]
cmp eax, dword [ebp - 0xac4]
jge 0x403f49
mov dword [ebp - 0x6b4], 1
jmp 0x403f50
and dword [ebp - 0x6b4], 0
cmp dword [ebp - 0x6b4], 0xb42d
jne 0x403f68
mov dword [ebp - 0x96c], 1
jmp 0x403f6f
and dword [ebp - 0x96c], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x96c]
mov dword [ebp + eax - 0x1090], ecx
mov dword [ebp - 0x28c], 2
jmp 0x403f9b
mov eax, dword [ebp - 0x28c]
dec eax
mov dword [ebp - 0x28c], eax
cmp dword [ebp - 0x28c], 0
jl 0x40402d
mov dword [ebp - 0x444], 0xfffd
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x1060], 0xfffffff8
push 0xfffffffffffffff8
pop eax
test eax, eax
je 0x403fed
mov eax, dword [ebp - 0x444]
mov ecx, dword [ebp - 0x444]
inc ecx
mov dword [ebp - 0x444], ecx
test eax, eax
je 0x403fed
mov dword [ebp - 0x6bc], 1
jmp 0x403ff4
and dword [ebp - 0x6bc], 0
mov eax, dword [ebp - 0x28c]
mov eax, dword [ebp + eax*4 - 0x1090]
cmp eax, dword [ebp - 0x6bc]
jne 0x404015
mov dword [ebp - 0xb74], 1
jmp 0x40401c
and dword [ebp - 0xb74], 0
mov eax, dword [ebp - 0xb74]
mov dword [ebp - 0xe98], eax
jmp 0x403f8e
mov dword [ebp - 0x2b0], 7
mov dword [ebp - 0x12a4], 0x3623
mov dword [ebp - 0x448], 0x3af7
mov dword [ebp - 0x364], 0xb622b607
mov dword [ebp - 0x6e4], 3
mov dword [ebp - 0x20], 0
jmp 0x40406f
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jge 0x404085
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x2b8], 0xfffffff9
jmp 0x404068
mov dword [ebp - 0x20], 0
jmp 0x404095
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x4040ab
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x4b4], 0x7632667a
jmp 0x40408e
mov dword [ebp - 0x20], 0
jmp 0x4040bb
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x4040d1
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1030], 0xaba8d6e8
jmp 0x4040b4
push 4
pop eax
shl eax, 1
mov dword [ebp + eax - 0x4b4], 0
jmp 0x4040fc
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x4b4]
inc eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x4b4], eax
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x4b4], 1
jge 0x404124
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x4b4]
mov dword [ebp + eax*4 - 0x2b8], 0xcd795364
jmp 0x4040e3
mov dword [ebp - 0xd10], 0x41e4
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x4b4]
mov dword [ebp - 0x12ac], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2b8]
mov dword [ebp - 0xd08], eax
mov eax, dword [ebp - 0x364]
mov dword [ebp - 0x6c4], eax
mov byte [ebp - 0x167], 0xbc
mov byte [ebp - 0x23d], 0xbd
mov eax, dword [ebp - 0x364]
inc eax
mov dword [ebp - 0x364], eax
push 4
pop eax
shl eax, 1
movzx ecx, byte [ebp - 0x167]
imul ecx, dword [ebp - 0x6c4]
mov edx, dword [ebp - 0xd08]
sub edx, ecx
movzx ecx, byte [ebp - 0x23d]
imul ecx, dword [ebp - 0x6c4]
add edx, ecx
cmp dword [ebp + eax - 0x4b4], edx
jle 0x4041ba
mov dword [ebp - 0x974], 1
jmp 0x4041c1
and dword [ebp - 0x974], 0
mov eax, dword [ebp - 0x364]
cmp dword [ebp - 0x974], eax
jle 0x4041db
mov dword [ebp - 0x400], 1
jmp 0x4041e2
and dword [ebp - 0x400], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x400]
mov dword [ebp + eax - 0x2b8], ecx
mov eax, dword [ebp - 0x448]
cmp dword [ebp - 0x400], eax
jne 0x404215
mov eax, 0xfff8
test eax, eax
jne 0x404215
and dword [ebp - 0x6cc], 0
jmp 0x40421f
mov dword [ebp - 0x6cc], 1
mov eax, dword [ebp - 0x6cc]
mov dword [ebp - 0xea0], eax
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0xacc], eax
mov byte [ebp - 0x169], 0x4b
mov byte [ebp - 0x1a0], 0x4c
mov al, byte [ebp - 0x169]
mov byte [ebp - 0x16b], al
mov eax, dword [ebp - 0xacc]
mov dword [ebp - 0x6d4], eax
mov byte [ebp - 0x6b], 0x7a
mov al, byte [ebp - 0x1a0]
mov byte [ebp - 0x1a1], al
mov eax, dword [ebp - 0xacc]
mov dword [ebp - 0x97c], eax
mov byte [ebp - 0xb1], 0xbb
movzx eax, byte [ebp - 0x16b]
movzx ecx, byte [ebp - 0x6b]
sub eax, ecx
imul eax, dword [ebp - 0x6d4]
movzx ecx, byte [ebp - 0x6b]
mov edx, dword [ebp - 0x6d4]
imul edx, ecx
add eax, edx
mov ecx, dword [ebp - 0xea0]
sub ecx, eax
movzx eax, byte [ebp - 0x1a1]
movzx edx, byte [ebp - 0xb1]
sub eax, edx
imul eax, dword [ebp - 0x97c]
movzx edx, byte [ebp - 0xb1]
mov esi, dword [ebp - 0x97c]
imul esi, edx
add eax, esi
add ecx, eax
push 4
pop eax
shl eax, 1
add ecx, dword [ebp + eax - 0x4b4]
jne 0x4042f6
mov eax, 0xede5c489
test eax, eax
jne 0x4042f6
and dword [ebp - 0x6dc], 0
jmp 0x404300
mov dword [ebp - 0x6dc], 1
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x6dc]
mov dword [ebp + eax - 0x1030], ecx
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x1030], 0
jne 0x40432f
mov dword [ebp - 0xbcc], 1
jmp 0x404336
and dword [ebp - 0xbcc], 0
mov eax, dword [ebp - 0xbcc]
mov dword [ebp - 0x6e4], eax
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x4b4]
mov dword [ebp - 0x12b4], eax
mov eax, dword [ebp - 0x6e4]
mov dword [ebp - 0x12cc], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2b8]
mov dword [ebp - 0x10f0], eax
mov dword [ebp - 0x984], 0x90b8
mov byte [ebp - 0x6d], 0xb8
mov eax, dword [ebp - 0x984]
mov dword [ebp - 0xeb0], eax
mov al, byte [ebp - 0x6d]
mov byte [ebp - 0x75], al
mov byte [ebp - 0xb3], 0x9f
mov eax, dword [ebp - 0xd10]
mov dword [ebp - 0xea8], eax
mov al, byte [ebp - 0x6d]
mov byte [ebp - 0xce], al
mov byte [ebp - 0x16d], 0xee
mov byte [ebp - 0x1a3], 0xef
movzx eax, byte [ebp - 0x16d]
movzx ecx, byte [ebp - 0xce]
imul eax, ecx
mov ecx, dword [ebp - 0xea8]
add ecx, eax
movzx eax, byte [ebp - 0x1a3]
movzx edx, byte [ebp - 0xce]
imul eax, edx
sub ecx, eax
mov dword [ebp - 0xd18], ecx
mov eax, dword [ebp - 0x984]
mov dword [ebp - 0x6ec], eax
mov byte [ebp - 0x6f], 0xdd
mov eax, dword [ebp - 0xd18]
mov dword [ebp - 0xd20], eax
mov al, byte [ebp - 0x6f]
mov byte [ebp - 0x71], al
mov byte [ebp - 0x16f], 0xf4
mov byte [ebp - 0x1a5], 0xf5
mov eax, dword [ebp - 0x6ec]
mov dword [ebp - 0xeb8], eax
mov al, byte [ebp - 0x6f]
mov byte [ebp - 0xd0], al
mov byte [ebp - 0x73], 0x64
mov eax, dword [ebp - 0xeb0]
mov dword [ebp - 0xd28], eax
mov al, byte [ebp - 0xb3]
mov byte [ebp - 0xb5], al
mov byte [ebp - 0x171], 0x73
mov byte [ebp - 0x1a7], 0x74
mov al, byte [ebp - 0x75]
mov byte [ebp - 0x173], al
mov al, byte [ebp - 0xb3]
mov byte [ebp - 0xd2], al
mov byte [ebp - 0x77], 0x29
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x2b8], 0
je 0x404553
movzx eax, byte [ebp - 0x16f]
movzx ecx, byte [ebp - 0x71]
imul eax, ecx
mov ecx, dword [ebp - 0xd20]
add ecx, eax
movzx eax, byte [ebp - 0x1a5]
movzx edx, byte [ebp - 0x71]
imul eax, edx
sub ecx, eax
imul ecx, dword [ebp - 0x6ec]
movzx eax, byte [ebp - 0x73]
mov edx, dword [ebp - 0xeb8]
sub edx, eax
movzx eax, byte [ebp - 0xd0]
imul edx, eax
movzx eax, byte [ebp - 0xd0]
movzx esi, byte [ebp - 0x73]
imul eax, esi
add edx, eax
add ecx, edx
movzx eax, byte [ebp - 0x171]
movzx edx, byte [ebp - 0xb5]
imul eax, edx
mov edx, dword [ebp - 0xd28]
add edx, eax
movzx eax, byte [ebp - 0x1a7]
movzx esi, byte [ebp - 0xb5]
imul eax, esi
sub edx, eax
movzx eax, byte [ebp - 0x75]
imul edx, eax
movzx eax, byte [ebp - 0x173]
movzx esi, byte [ebp - 0x77]
sub eax, esi
movzx esi, byte [ebp - 0xd2]
imul eax, esi
movzx esi, byte [ebp - 0xd2]
movzx edi, byte [ebp - 0x77]
imul esi, edi
add eax, esi
add edx, eax
add ecx, edx
jne 0x404547
push 8
pop eax
test eax, eax
je 0x404553
mov dword [ebp - 0xad4], 1
jmp 0x40455a
and dword [ebp - 0xad4], 0
cmp dword [ebp - 0xad4], 0xfff8
je 0x404572
mov dword [ebp - 0x6f4], 1
jmp 0x404579
and dword [ebp - 0x6f4], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x4b4]
cmp dword [ebp - 0x6f4], eax
je 0x404599
mov dword [ebp - 0x98c], 1
jmp 0x4045a0
and dword [ebp - 0x98c], 0
cmp dword [ebp - 0x98c], 1
jbe 0x4045b5
mov dword [ebp - 0x6fc], 1
jmp 0x4045bc
and dword [ebp - 0x6fc], 0
mov eax, dword [ebp - 0x448]
imul eax, dword [ebp - 0x6fc]
push 4
pop ecx
shl ecx, 1
cmp eax, dword [ebp + ecx - 0x4b4]
jne 0x4045e3
mov dword [ebp - 0xb7c], 1
jmp 0x4045ea
and dword [ebp - 0xb7c], 0
cmp dword [ebp - 0xb7c], 0xcd4d3380
jbe 0x404602
mov dword [ebp - 0x704], 1
jmp 0x404609
and dword [ebp - 0x704], 0
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x704]
mov dword [ebp + eax - 0x4b4], ecx
mov dword [ebp - 0x3c], 0xfffffffc
mov dword [ebp - 0x468], 0xfffffff9
mov dword [ebp - 0x734], 0xffff
mov dword [ebp - 0x100], 0
jmp 0x40464f
mov eax, dword [ebp - 0x100]
inc eax
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 1
jge 0x40466b
mov eax, dword [ebp - 0x100]
mov dword [ebp + eax*4 - 0xb84], 0xbdae4f9d
jmp 0x404642
mov dword [ebp - 0x100], 0
jmp 0x404684
mov eax, dword [ebp - 0x100]
inc eax
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 1
jge 0x4046a0
mov eax, dword [ebp - 0x100]
mov dword [ebp + eax*4 - 0xee0], 0xfffffff8
jmp 0x404677
mov dword [ebp - 0x3c], 0xffffffe8
jmp 0x4046b0
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 6
jge 0x4048f6
mov dword [ebp - 0x408], 0x452a26f3
mov dword [ebp - 0xd38], 0x85c9e53
mov eax, dword [ebp - 0x408]
mov dword [ebp - 0xec0], eax
mov eax, dword [ebp - 0x408]
mov dword [ebp - 0x994], eax
mov byte [ebp - 0xb7], 0xb1
mov eax, dword [ebp - 0xec0]
mov dword [ebp - 0xd30], eax
mov al, byte [ebp - 0xb7]
mov byte [ebp - 0x79], al
mov byte [ebp - 0x1a9], 0x86
mov byte [ebp - 0x175], 0x87
mov eax, dword [ebp - 0x994]
mov dword [ebp - 0xec8], eax
mov al, byte [ebp - 0xb7]
mov byte [ebp - 0xd4], al
mov byte [ebp - 0x7b], 0x6f
movzx eax, byte [ebp - 0x1a9]
movzx ecx, byte [ebp - 0x79]
imul eax, ecx
mov ecx, dword [ebp - 0xd30]
add ecx, eax
movzx eax, byte [ebp - 0x175]
movzx edx, byte [ebp - 0x79]
imul eax, edx
sub ecx, eax
imul ecx, dword [ebp - 0x994]
movzx eax, byte [ebp - 0x7b]
mov edx, dword [ebp - 0xec8]
sub edx, eax
movzx eax, byte [ebp - 0xd4]
imul edx, eax
movzx eax, byte [ebp - 0xd4]
movzx esi, byte [ebp - 0x7b]
imul eax, esi
add edx, eax
add ecx, edx
cmp ecx, 0x4c03
jne 0x404795
mov dword [ebp - 0x70c], 1
jmp 0x40479c
and dword [ebp - 0x70c], 0
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x70c]
jge 0x4047b3
mov dword [ebp - 0xadc], 1
jmp 0x4047ba
and dword [ebp - 0xadc], 0
mov eax, dword [ebp - 0xadc]
mov dword [ebp - 0x71c], eax
mov byte [ebp - 0x1ab], 0x50
mov byte [ebp - 0x1af], 0x51
mov eax, dword [ebp - 0xd38]
mov dword [ebp - 0xed0], eax
mov al, byte [ebp - 0x1ab]
mov byte [ebp - 0x177], al
mov eax, dword [ebp - 0x71c]
mov dword [ebp - 0x714], eax
mov byte [ebp - 0xb9], 0x74
movzx eax, byte [ebp - 0x177]
movzx ecx, byte [ebp - 0xb9]
sub eax, ecx
imul eax, dword [ebp - 0x714]
movzx ecx, byte [ebp - 0xb9]
mov edx, dword [ebp - 0x714]
imul edx, ecx
add eax, edx
mov dword [ebp - 0x99c], eax
mov byte [ebp - 0x1ad], 8
mov byte [ebp - 0x179], 9
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
jl 0x404885
movzx eax, byte [ebp - 0x1ad]
imul eax, dword [ebp - 0x99c]
mov ecx, dword [ebp - 0xed0]
sub ecx, eax
movzx eax, byte [ebp - 0x179]
imul eax, dword [ebp - 0x99c]
add ecx, eax
movzx eax, byte [ebp - 0x1af]
imul eax, dword [ebp - 0x71c]
sub ecx, eax
jne 0x404885
and dword [ebp - 0xc08], 0
jmp 0x40488f
mov dword [ebp - 0xc08], 1
mov eax, dword [ebp - 0x408]
cmp dword [ebp - 0xc08], eax
je 0x4048a9
mov dword [ebp - 0x724], 1
jmp 0x4048b0
and dword [ebp - 0x724], 0
mov eax, dword [ebp - 0x724]
mov dword [ebp - 0xd40], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x9a4], eax
mov byte [ebp - 0x7d], 0xa0
movzx eax, byte [ebp - 0x7d]
mov ecx, dword [ebp - 0xd40]
sub ecx, eax
imul ecx, dword [ebp - 0x9a4]
movzx eax, byte [ebp - 0x7d]
mov edx, dword [ebp - 0x9a4]
imul edx, eax
add ecx, edx
mov dword [ebp - 0x468], ecx
jmp 0x4046a9
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
jne 0x404913
cmp dword [ebp - 0x734], 0x29c8ddac
jge 0x404913
and dword [ebp - 0x72c], 0
jmp 0x40491d
mov dword [ebp - 0x72c], 1
mov eax, dword [ebp - 0x72c]
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x468]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xae4], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xae4]
mov dword [ebp + eax - 0xb84], ecx
mov eax, dword [ebp - 0xae4]
mov dword [ebp - 0xed8], eax
mov eax, dword [ebp - 0x734]
mov dword [ebp - 0x9ac], eax
mov byte [ebp - 0x17d], 0xaa
mov byte [ebp - 0x17b], 0xab
mov al, byte [ebp - 0x17b]
mov byte [ebp - 0x1b1], al
mov eax, dword [ebp - 0x9ac]
mov dword [ebp - 0x73c], eax
mov byte [ebp - 0xd6], 0x2f
mov al, byte [ebp - 0x1b1]
mov byte [ebp - 0x1b3], al
mov al, byte [ebp - 0xd6]
mov byte [ebp - 0x7f], al
mov byte [ebp - 0x17f], 0xf2
mov byte [ebp - 0x1b5], 0xf3
mov eax, dword [ebp - 0x73c]
mov dword [ebp - 0xd48], eax
mov al, byte [ebp - 0xd6]
mov byte [ebp - 0xbb], al
mov byte [ebp - 0x81], 0x3f
movzx eax, byte [ebp - 0x17d]
imul eax, dword [ebp - 0x9ac]
mov ecx, dword [ebp - 0xed8]
sub ecx, eax
movzx eax, byte [ebp - 0x1b3]
movzx edx, byte [ebp - 0x17f]
movzx esi, byte [ebp - 0x7f]
imul edx, esi
add eax, edx
movzx edx, byte [ebp - 0x1b5]
movzx esi, byte [ebp - 0x7f]
imul edx, esi
sub eax, edx
imul eax, dword [ebp - 0x73c]
movzx edx, byte [ebp - 0x81]
mov esi, dword [ebp - 0xd48]
sub esi, edx
movzx edx, byte [ebp - 0xbb]
imul esi, edx
movzx edx, byte [ebp - 0xbb]
movzx edi, byte [ebp - 0x81]
imul edx, edi
add esi, edx
add eax, esi
add ecx, eax
je 0x404a67
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xb84], 0
je 0x404a67
mov dword [ebp - 0x744], 1
jmp 0x404a6e
and dword [ebp - 0x744], 0
cmp dword [ebp - 0x744], 0x284868fd
jne 0x404a86
mov dword [ebp - 0x9b4], 1
jmp 0x404a8d
and dword [ebp - 0x9b4], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x9b4]
mov dword [ebp + eax - 0xee0], ecx
mov dword [ebp - 0x384], 8
mov dword [ebp - 0x32c], 0
jmp 0x404ac3
mov eax, dword [ebp - 0x32c]
inc eax
mov dword [ebp - 0x32c], eax
cmp dword [ebp - 0x32c], 2
jge 0x404adf
mov eax, dword [ebp - 0x32c]
mov dword [ebp + eax*4 - 0x111c], 0x7862
jmp 0x404ab6
mov dword [ebp - 0x384], 0
jmp 0x404af8
mov eax, dword [ebp - 0x384]
inc eax
mov dword [ebp - 0x384], eax
cmp dword [ebp - 0x384], 1
jg 0x404b6b
mov dword [ebp - 0x2e0], 0xffffffff
mov byte [ebp - 0x181], 0
movzx eax, byte [ebp - 0x181]
test eax, eax
je 0x404b33
push 0
push 0
push 0x2515
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_DefWindowProcA]
mov dword [ebp - 0x2e0], 0
jmp 0x404b4c
mov eax, dword [ebp - 0x2e0]
inc eax
mov dword [ebp - 0x2e0], eax
cmp dword [ebp - 0x2e0], 1
jg 0x404b69
mov eax, dword [ebp - 0x2e0]
cmp dword [ebp + eax*4 - 0x111c], 0
je 0x404b67
jmp 0x404b69
jmp 0x404b3f
jmp 0x404aeb
mov dword [ebp - 0x234], 1
mov dword [ebp - 0x2a8], 0xa3cfce29
mov dword [ebp - 0x460], 1
mov dword [ebp - 0x130], 0
jmp 0x404ba2
mov eax, dword [ebp - 0x130]
inc eax
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 2
jge 0x404bbe
mov eax, dword [ebp - 0x130]
mov dword [ebp + eax*4 - 0x3a8], 0xcdbe8e56
jmp 0x404b95
mov dword [ebp - 0x130], 0
jmp 0x404bd7
mov eax, dword [ebp - 0x130]
inc eax
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 4
jge 0x404bf3
mov eax, dword [ebp - 0x130]
mov dword [ebp + eax*4 - 0x1050], 0xb5486b6f
jmp 0x404bca
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x3a8]
mov dword [ebp - 0xd50], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x3a8]
mov dword [ebp - 0x74c], eax
mov byte [ebp - 0xd8], 0x56
mov eax, dword [ebp - 0x74c]
mov dword [ebp - 0xef0], eax
mov al, byte [ebp - 0xd8]
mov byte [ebp - 0xbd], al
mov byte [ebp - 0x85], 0xd9
mov eax, dword [ebp - 0xd50]
mov dword [ebp - 0xee8], eax
mov al, byte [ebp - 0xd8]
mov byte [ebp - 0x83], al
mov byte [ebp - 0x1b7], 0x6b
mov byte [ebp - 0x183], 0x6c
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x3a8]
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0
jne 0x404cd6
movzx eax, byte [ebp - 0x1b7]
movzx ecx, byte [ebp - 0x83]
imul eax, ecx
mov ecx, dword [ebp - 0xee8]
add ecx, eax
movzx eax, byte [ebp - 0x183]
movzx edx, byte [ebp - 0x83]
imul eax, edx
sub ecx, eax
imul ecx, dword [ebp - 0x74c]
movzx eax, byte [ebp - 0x85]
mov edx, dword [ebp - 0xef0]
movzx eax, byte [ebp - 0xbd]
movzx eax, byte [ebp - 0xbd]
movzx esi, byte [ebp - 0x85]
mov eax, 0xfdeb
neg eax
cmp eax, 9
jne 0x404cee
mov dword [ebp - 0xaec], 1
jmp 0x404cf5
and dword [ebp - 0xaec], 0
mov eax, dword [ebp - 0xaec]
mov dword [ebp - 0x2a8], eax
cmp dword [ebp - 0x2a8], 0
jb 0x404d16
mov dword [ebp - 0x754], 1
jmp 0x404d1d
and dword [ebp - 0x754], 0
mov eax, dword [ebp - 0x754]
mov dword [ebp - 0xd5c], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x3a8]
mov dword [ebp - 0x75c], eax
mov byte [ebp - 0x1b9], 0x13
mov byte [ebp - 0x1bb], 0x14
mov al, byte [ebp - 0x1b9]
mov byte [ebp - 0x185], al
mov eax, dword [ebp - 0x75c]
mov dword [ebp - 0x9bc], eax
mov byte [ebp - 0xda], 0xb0
movzx eax, byte [ebp - 0x185]
movzx ecx, byte [ebp - 0xda]
sub eax, ecx
imul eax, dword [ebp - 0x9bc]
movzx ecx, byte [ebp - 0xda]
mov edx, dword [ebp - 0x9bc]
imul edx, ecx
add eax, edx
mov ecx, dword [ebp - 0xd5c]
sub ecx, eax
mov dword [ebp - 0xec4], ecx
mov al, byte [ebp - 0x1bb]
mov byte [ebp - 0x187], al
mov eax, dword [ebp - 0x75c]
mov dword [ebp - 0xbd4], eax
mov byte [ebp - 0x87], 0xdd
movzx eax, byte [ebp - 0x187]
movzx ecx, byte [ebp - 0x87]
sub eax, ecx
imul eax, dword [ebp - 0xbd4]
movzx ecx, byte [ebp - 0x87]
mov edx, dword [ebp - 0xbd4]
imul edx, ecx
add eax, edx
mov dword [ebp - 0x764], eax
mov byte [ebp - 0x189], 0x67
mov byte [ebp - 0x1bd], 0x68
mov al, byte [ebp - 0x1bd]
mov byte [ebp - 0x1c1], al
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x76c], eax
mov byte [ebp - 0xbf], 0xf0
mov eax, dword [ebp - 0xec4]
mov dword [ebp - 0xd64], eax
movzx eax, byte [ebp - 0x189]
imul eax, dword [ebp - 0x764]
mov dword [ebp - 0x9c4], eax
mov byte [ebp - 0x1bf], 0xce
mov byte [ebp - 0x18b], 0xcf
movzx eax, byte [ebp - 0x1bf]
imul eax, dword [ebp - 0x9c4]
mov ecx, dword [ebp - 0xd64]
add ecx, eax
movzx eax, byte [ebp - 0x18b]
imul eax, dword [ebp - 0x9c4]
sub ecx, eax
movzx eax, byte [ebp - 0x1c1]
movzx edx, byte [ebp - 0xbf]
sub eax, edx
imul eax, dword [ebp - 0x76c]
movzx edx, byte [ebp - 0xbf]
mov esi, dword [ebp - 0x76c]
imul esi, edx
add eax, esi
add ecx, eax
je 0x404ead
xor eax, eax
inc eax
je 0x404ead
mov dword [ebp - 0xaf4], 1
jmp 0x404eb4
and dword [ebp - 0xaf4], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x3a8]
imul eax, dword [ebp - 0xaf4]
mov dword [ebp - 0x774], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x774]
mov dword [ebp + eax - 0x1050], ecx
cmp dword [ebp - 0x774], 0
je 0x40507a
mov dword [ebp - 0xf74], 0xb611fb8e
mov dword [ebp - 0xd74], 5
mov dword [ebp - 0x334], 0
jmp 0x404f1b
mov eax, dword [ebp - 0x334]
inc eax
mov dword [ebp - 0x334], eax
cmp dword [ebp - 0x334], 1
jge 0x404f37
mov eax, dword [ebp - 0x334]
mov dword [ebp + eax*4 - 0x9cc], 0x48a2
jmp 0x404f0e
mov dword [ebp - 0x234], 0
jmp 0x404f50
mov eax, dword [ebp - 0x234]
inc eax
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 3
jg 0x404f6d
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x3a8], 0
je 0x404f6b
jmp 0x404f6d
jmp 0x404f43
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x9cc]
mov dword [ebp - 0xf74], eax
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x9cc]
cmp dword [ebp + eax - 0x1050], ecx
jg 0x404fa8
mov dword [ebp - 0x77c], 1
jmp 0x404faf
and dword [ebp - 0x77c], 0
mov eax, dword [ebp - 0x77c]
mov dword [ebp - 0xd6c], eax
mov dword [ebp - 0xb8c], 1
mov byte [ebp - 0x89], 0x88
mov eax, dword [ebp - 0xb8c]
mov dword [ebp - 0xecc], eax
mov al, byte [ebp - 0x89]
mov byte [ebp - 0xdc], al
mov byte [ebp - 0x8b], 0xf7
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
shl ecx, 0
mov ecx, dword [ebp + ecx - 0x1050]
cmp dword [ebp + eax - 0x3a8], ecx
jl 0x40505f
movzx eax, byte [ebp - 0x89]
mov ecx, dword [ebp - 0xd6c]
sub ecx, eax
imul ecx, dword [ebp - 0xb8c]
movzx eax, byte [ebp - 0x8b]
mov edx, dword [ebp - 0xecc]
sub edx, eax
movzx eax, byte [ebp - 0xdc]
imul edx, eax
movzx eax, byte [ebp - 0xdc]
movzx esi, byte [ebp - 0x8b]
imul eax, esi
add edx, eax
add ecx, edx
jne 0x40505f
mov eax, 0xb88cdf8a
test eax, eax
jne 0x40505f
and dword [ebp - 0x784], 0
jmp 0x405069
mov dword [ebp - 0x784], 1
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0xd74], eax
jmp 0x405468
mov dword [ebp - 0xf7c], 0x16309070
mov dword [ebp - 0xd94], 0x4826422f
mov dword [ebp - 0x298], 0xfffffffb
mov dword [ebp - 0x410], 0xfffffff7
mov dword [ebp - 0x36c], 0
jmp 0x4050bb
mov eax, dword [ebp - 0x36c]
inc eax
mov dword [ebp - 0x36c], eax
cmp dword [ebp - 0x36c], 3
jge 0x4050d7
mov eax, dword [ebp - 0x36c]
mov dword [ebp + eax*4 - 0x106c], 6
jmp 0x4050ae
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0xfa4], eax
mov eax, dword [ebp - 0x410]
inc eax
mov dword [ebp - 0x410], eax
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x9d4], eax
mov byte [ebp - 0xc1], 0x60
movzx eax, byte [ebp - 0xc1]
mov ecx, dword [ebp - 0xfa4]
sub ecx, eax
imul ecx, dword [ebp - 0x9d4]
mov dword [ebp - 0xd7c], ecx
movzx eax, byte [ebp - 0xc1]
mov ecx, dword [ebp - 0x9d4]
imul ecx, eax
mov dword [ebp - 0x78c], ecx
mov byte [ebp - 0x18d], 0xf6
mov byte [ebp - 0x1c3], 0xf7
movzx eax, byte [ebp - 0x18d]
imul eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0xd7c]
sub ecx, eax
movzx eax, byte [ebp - 0x1c3]
imul eax, dword [ebp - 0x78c]
add ecx, eax
je 0x405191
mov eax, dword [ebp - 0x460]
cmp dword [ebp - 0x2a8], eax
jne 0x405191
mov dword [ebp - 0xafc], 1
jmp 0x405198
and dword [ebp - 0xafc], 0
mov eax, dword [ebp - 0xafc]
mov dword [ebp - 0xed4], eax
mov dword [ebp - 0x794], 0xc63
mov byte [ebp - 0x8d], 0x59
mov eax, dword [ebp - 0xed4]
mov dword [ebp - 0xd8c], eax
mov al, byte [ebp - 0x8d]
mov byte [ebp - 0xde], al
mov byte [ebp - 0x18f], 0xd
mov byte [ebp - 0x1c5], 0xe
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0xd84], eax
mov al, byte [ebp - 0x8d]
mov byte [ebp - 0xc3], al
mov byte [ebp - 0x91], 0xfc
mov eax, dword [ebp - 0xd84]
mov dword [ebp - 0xedc], eax
mov al, byte [ebp - 0x91]
mov byte [ebp - 0x8f], al
mov byte [ebp - 0x191], 0x8d
mov byte [ebp - 0x1c7], 0x8e
cmp dword [ebp - 0xf7c], 0xfff7
jbe 0x405238
mov dword [ebp - 0xc00], 1
jmp 0x40523f
and dword [ebp - 0xc00], 0
movzx eax, byte [ebp - 0x18f]
movzx ecx, byte [ebp - 0xde]
imul eax, ecx
mov ecx, dword [ebp - 0xd8c]
add ecx, eax
movzx eax, byte [ebp - 0x1c5]
movzx edx, byte [ebp - 0xde]
imul eax, edx
sub ecx, eax
imul ecx, dword [ebp - 0x794]
movzx eax, byte [ebp - 0x191]
movzx edx, byte [ebp - 0x8f]
imul eax, edx
mov edx, dword [ebp - 0xedc]
add edx, eax
movzx eax, byte [ebp - 0x1c7]
movzx esi, byte [ebp - 0x8f]
imul eax, esi
sub edx, eax
movzx eax, byte [ebp - 0xc3]
imul edx, eax
movzx eax, byte [ebp - 0xc3]
movzx esi, byte [ebp - 0x91]
imul eax, esi
add edx, eax
add ecx, edx
push 4
pop eax
imul eax, eax, 0
cmp ecx, dword [ebp + eax - 0x106c]
jg 0x4052d8
mov dword [ebp - 0x9dc], 1
jmp 0x4052df
and dword [ebp - 0x9dc], 0
mov eax, dword [ebp - 0x460]
cmp dword [ebp - 0x9dc], eax
jne 0x4052ff
cmp dword [ebp - 0x234], 0
jne 0x4052ff
and dword [ebp - 0x418], 0
jmp 0x405309
mov dword [ebp - 0x418], 1
push 4
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x418]
mov dword [ebp + eax - 0x1050], ecx
mov eax, dword [ebp - 0x460]
cmp dword [ebp - 0x418], eax
jg 0x405336
mov dword [ebp - 0x79c], 1
jmp 0x40533d
and dword [ebp - 0x79c], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x3a8]
add eax, dword [ebp - 0x79c]
cmp eax, 0x5996
jl 0x405363
mov dword [ebp - 0x7a4], 1
jmp 0x40536a
and dword [ebp - 0x7a4], 0
mov eax, dword [ebp - 0xc00]
cmp eax, dword [ebp - 0x7a4]
jge 0x405384
mov dword [ebp - 0x9e4], 1
jmp 0x40538b
and dword [ebp - 0x9e4], 0
cmp dword [ebp - 0x9e4], 0xb42d
jne 0x4053a3
mov dword [ebp - 0x7ac], 1
jmp 0x4053aa
and dword [ebp - 0x7ac], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp + eax - 0x106c], ecx
mov dword [ebp - 0x298], 2
jmp 0x4053d6
mov eax, dword [ebp - 0x298]
dec eax
mov dword [ebp - 0x298], eax
cmp dword [ebp - 0x298], 0
jl 0x405468
mov dword [ebp - 0x454], 0xfffd
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x1050], 0xfffffff8
push 0xfffffffffffffff8
pop eax
test eax, eax
je 0x405428
mov eax, dword [ebp - 0x454]
mov ecx, dword [ebp - 0x454]
inc ecx
mov dword [ebp - 0x454], ecx
test eax, eax
je 0x405428
mov dword [ebp - 0xb04], 1
jmp 0x40542f
and dword [ebp - 0xb04], 0
mov eax, dword [ebp - 0x298]
mov eax, dword [ebp + eax*4 - 0x106c]
cmp eax, dword [ebp - 0xb04]
jne 0x405450
mov dword [ebp - 0x7b4], 1
jmp 0x405457
and dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x7b4]
mov dword [ebp - 0xd94], eax
jmp 0x4053c9
mov dword [ebp - 0x2a8], 7
mov dword [ebp - 0x38], 0xfffffffc
mov dword [ebp - 0x464], 0xfffffff9
mov dword [ebp - 0x7ec], 0xffff
mov dword [ebp - 0x108], 0
jmp 0x4054a6
mov eax, dword [ebp - 0x108]
inc eax
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 1
jge 0x4054c2
mov eax, dword [ebp - 0x108]
mov dword [ebp + eax*4 - 0xa0c], 0xbdae4f9d
jmp 0x405499
mov dword [ebp - 0x108], 0
jmp 0x4054db
mov eax, dword [ebp - 0x108]
inc eax
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 1
jge 0x4054f7
mov eax, dword [ebp - 0x108]
mov dword [ebp + eax*4 - 0xeec], 0xfffffff8
jmp 0x4054ce
mov dword [ebp - 0x38], 0xffffffe8
jmp 0x405507
cmp dword [ebp - 0x38], 6
jge 0x405759
mov dword [ebp - 0x420], 0x452a26f3
mov dword [ebp - 0xd9c], 0x85c9e53
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0xfc8], eax
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x9ec], eax
mov byte [ebp - 0xe0], 0x9e
movzx eax, byte [ebp - 0xe0]
mov ecx, dword [ebp - 0xfc8]
sub ecx, eax
imul ecx, dword [ebp - 0x9ec]
movzx eax, byte [ebp - 0xe0]
mov edx, dword [ebp - 0x9ec]
imul edx, eax
add ecx, edx
cmp ecx, 0x4c03
jne 0x405580
mov dword [ebp - 0x7bc], 1
jmp 0x405587
and dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x7bc]
jge 0x40559e
mov dword [ebp - 0xb94], 1
jmp 0x4055a5
and dword [ebp - 0xb94], 0
mov eax, dword [ebp - 0xb94]
mov dword [ebp - 0x7c4], eax
mov byte [ebp - 0x1c9], 0x91
mov byte [ebp - 0x193], 0x92
mov al, byte [ebp - 0x193]
mov byte [ebp - 0x1cb], al
mov eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x9fc], eax
mov byte [ebp - 0xe2], 0xb1
mov eax, dword [ebp - 0xd9c]
mov dword [ebp - 0xee4], eax
mov al, byte [ebp - 0x1c9]
mov byte [ebp - 0x195], al
mov eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x9f4], eax
mov byte [ebp - 0x3d], 0x67
movzx eax, byte [ebp - 0x195]
movzx ecx, byte [ebp - 0x3d]
sub eax, ecx
imul eax, dword [ebp - 0x9f4]
movzx ecx, byte [ebp - 0x3d]
mov edx, dword [ebp - 0x9f4]
imul edx, ecx
add eax, edx
mov dword [ebp - 0x7cc], eax
mov byte [ebp - 0x1cd], 0x1b
mov byte [ebp - 0x197], 0x1c
movzx eax, byte [ebp - 0x1cb]
movzx ecx, byte [ebp - 0xe2]
sub eax, ecx
mov dword [ebp - 0xda4], eax
mov eax, dword [ebp - 0x9fc]
mov dword [ebp - 0x7d4], eax
mov byte [ebp - 0x95], 0x1e
mov al, byte [ebp - 0x197]
mov byte [ebp - 0x199], al
mov eax, dword [ebp - 0x7cc]
mov dword [ebp - 0xb0c], eax
mov byte [ebp - 0xc5], 0xf8
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x38], eax
jl 0x405719
movzx eax, byte [ebp - 0x1cd]
imul eax, dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0xee4]
sub ecx, eax
movzx eax, byte [ebp - 0x199]
movzx edx, byte [ebp - 0xc5]
sub eax, edx
imul eax, dword [ebp - 0xb0c]
movzx edx, byte [ebp - 0xc5]
mov esi, dword [ebp - 0xb0c]
imul esi, edx
add eax, esi
add ecx, eax
movzx eax, byte [ebp - 0x95]
mov edx, dword [ebp - 0xda4]
sub edx, eax
imul edx, dword [ebp - 0x7d4]
movzx eax, byte [ebp - 0x95]
mov esi, dword [ebp - 0x7d4]
imul esi, eax
add edx, esi
movzx eax, byte [ebp - 0xe2]
mov esi, dword [ebp - 0x9fc]
imul esi, eax
add edx, esi
sub ecx, edx
jne 0x405719
mov dword [ebp - 0x7dc], 1
mov eax, dword [ebp - 0x420]
cmp dword [ebp - 0x7dc], eax
je 0x40573d
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x38], eax
jne 0x405776
cmp dword [ebp - 0x7ec], 0x29c8ddac
jge 0x405776
and dword [ebp - 0x7e4], 0
jmp 0x405780
mov dword [ebp - 0x7e4], 1
mov eax, dword [ebp - 0x7e4]
mov dword [ebp - 0x464], eax
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xa04], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xa04]
mov dword [ebp + eax - 0xa0c], ecx
mov eax, dword [ebp - 0xa04]
mov dword [ebp - 0xf84], eax
mov eax, dword [ebp - 0x7ec]
mov dword [ebp - 0xb14], eax
mov byte [ebp - 0x1cf], 0x1b
mov byte [ebp - 0x19b], 0x1c
movzx eax, byte [ebp - 0x1cf]
imul eax, dword [ebp - 0xb14]
mov ecx, dword [ebp - 0xf84]
sub ecx, eax
mov dword [ebp - 0xdac], ecx
movzx eax, byte [ebp - 0x19b]
imul eax, dword [ebp - 0xb14]
mov dword [ebp - 0x7f4], eax
mov byte [ebp - 0x1d1], 2
mov byte [ebp - 0x19d], 3
movzx eax, byte [ebp - 0x1d1]
imul eax, dword [ebp - 0x7f4]
mov ecx, dword [ebp - 0xdac]
sub ecx, eax
movzx eax, byte [ebp - 0x19d]
imul eax, dword [ebp - 0x7f4]
add ecx, eax
je 0x405859
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xa0c], 0
je 0x405859
mov dword [ebp - 0x7fc], 1
jmp 0x405860
and dword [ebp - 0x7fc], 0
cmp dword [ebp - 0x7fc], 0x284868fd
jne 0x405878
mov dword [ebp - 0xb9c], 1
jmp 0x40587f
and dword [ebp - 0xb9c], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xb9c]
mov dword [ebp + eax - 0xeec], ecx
mov dword [ebp - 0x33c], 0xfffffff7
mov dword [ebp - 0x86c], 0x41a9c213
mov dword [ebp - 0x874], 0xcbeb969
mov dword [ebp - 0xf8c], 0x4e7f13bc
mov dword [ebp - 0xdcc], 0x489be67e
mov dword [ebp - 0x11f8], 0xfffffff7
mov dword [ebp - 0x10f8], 0x92891f43
mov dword [ebp - 0xf94], 0x90200244
mov dword [ebp - 0x127c], 0x6037280d
mov dword [ebp - 0x3bc], 0
mov dword [ebp - 0x3cc], 0
mov dword [ebp - 0x14], 0
jmp 0x405910