Function at 0x10045515
Capabilities:
Contain obfuscated stackstrings
Enumerate pe sections
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10085797
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa18
push esi
and dword [ebp - 0x1c], 0
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x10049864
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x8cc], 0xd06ce125
mov dword [ebp - 0x81c], 0xffffffff
mov dword [ebp - 0x7ec], 0x88a137b1
push 1
lea ecx, [ebp - 0x7f8]
call fcn.1001854e
and dword [ebp - 4], 0
mov dword [ebp - 0x8d0], 0x9cb61d22
mov dword [ebp - 0x808], 0xc2da8afc
mov dword [ebp - 0x54], 0
jmp 0x1004559d
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 1
jge 0x100455b9
push dword [ebp - 0x54]
lea ecx, [ebp - 0x7f8]
call fcn.100185ec
mov dword [eax], 0x2a1836cc
jmp 0x10045596
mov dword [ebp - 0x54], 0
jmp 0x100455c9
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 3
jge 0x100455df
mov eax, dword [ebp - 0x54]
mov dword [ebp + eax*4 - 0x7e8], 1
jmp 0x100455c2
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x7e8]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x7e8], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7f8]
call fcn.100185d0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x880], 0
push 3
lea ecx, [ebp - 0x74c]
call fcn.1001854e
mov dword [ebp - 4], 1
mov dword [ebp - 0x4dc], 0xfffffffa
mov dword [ebp - 0x624], 0xb15d3e99
mov dword [ebp - 0x114], 0
jmp 0x1004565d
mov eax, dword [ebp - 0x114]
inc eax
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 3
jge 0x10045679
mov eax, dword [ebp - 0x114]
mov dword [ebp + eax*4 - 0x838], 0xfffffffa
jmp 0x10045650
lea eax, [ebp - 0x74c]
push eax
push 1
push 0x70b0
lea eax, [ebp - 0x114]
push eax
call fcn.10043c73
add esp, 0x10
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x838]
mov dword [ebp - 0x32c], eax
push 2
lea ecx, [ebp - 0x74c]
call fcn.100185ec
mov ecx, dword [ebp - 0x32c]
mov dword [eax], ecx
cmp dword [ebp - 0x32c], 1
jbe 0x100456d3
mov dword [ebp - 0x494], 1
jmp 0x100456da
and dword [ebp - 0x494], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x838]
cmp dword [ebp - 0x494], eax
jl 0x100456fa
mov dword [ebp - 0x4b4], 1
jmp 0x10045701
and dword [ebp - 0x4b4], 0
mov eax, dword [ebp - 0x4b4]
mov dword [ebp - 0x4dc], eax
mov eax, dword [ebp - 0x4dc]
mov dword [ebp - 0x624], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74c]
call fcn.100185d0
mov eax, dword [ebp - 0x4a0]
movzx eax, word [eax]
cmp eax, 0x5a4d
je 0x1004573d
jmp 0x1004988a
mov dword [ebp - 0xb8], 0x9dad
mov dword [ebp - 0x58c], 0x6b379904
mov dword [ebp - 0x810], 0xfffffffa
mov dword [ebp - 0x8b4], 1
mov dword [ebp - 0x818], 0xb8cff26a
push 0x2eb6
lea eax, [ebp - 0xb8]
push eax
push 0
call fcn.1004528e
add esp, 0xc
mov dword [ebp - 0xb8], 0xfffffff9
jmp 0x1004579e
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0x3a
je 0x100458d7
push 1
lea ecx, [ebp - 0x4c8]
call fcn.1001854e
mov dword [ebp - 4], 2
mov dword [ebp - 0x59c], 0xc6dd
push 1
push 0x36a5
lea eax, [ebp - 0x4c8]
push eax
push 0x597f
lea eax, [ebp - 0x888]
push eax
call fcn.10043cf0
add esp, 0x14
push 0
lea ecx, [ebp - 0x4c8]
call fcn.100185ec
mov dword [eax], 0xfffffffd
jmp 0x10045824
push 0
lea ecx, [ebp - 0x4c8]
call fcn.100185ec
mov dword [ebp - 0x4e4], eax
mov eax, dword [ebp - 0x4e4]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x4e4]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x4c8]
call fcn.100185ec
cmp dword [eax], 0x18
jge 0x10045864
mov dword [ebp - 0x584], 0xfffffffd
push 0x4355
lea eax, [ebp - 0x4c8]
push eax
lea eax, [ebp - 0x584]
push eax
push 0x576
push 0
call fcn.10044690
add esp, 0x14
jmp 0x10045800
push 0
lea ecx, [ebp - 0x4c8]
call fcn.100185ec
cmp dword [eax], 0
je 0x100458ad
mov dword [ebp - 0x594], 0xffffffff
push 0x44f0
lea eax, [ebp - 0x4c8]
push eax
lea eax, [ebp - 0x58c]
push eax
lea eax, [ebp - 0x594]
push eax
push 0
lea eax, [ebp - 0xb8]
push eax
call fcn.10044464
add esp, 0x18
jmp 0x100458c3
push 0
lea eax, [ebp - 0x59c]
push eax
push 0x46f
call fcn.10045515
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c8]
call fcn.100185d0
jmp 0x10045791
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x30]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x11c], 0x75c9
mov dword [ebp - 0x6c0], 0xfffffff9
mov dword [ebp - 0x6bc], 0xfffffff9
mov dword [ebp - 0x6b8], 0xfffffff9
mov dword [ebp - 0x6b4], 0xfffffff9
push 4
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x11c]
mov dword [ebp + eax - 0x6c0], ecx
mov dword [ebp - 0x11c], 0
jmp 0x10045947
mov eax, dword [ebp - 0x11c]
dec eax
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xfffffff6
jne 0x100459c5
mov dword [ebp - 0x1a0], 0
jmp 0x10045969
mov eax, dword [ebp - 0x1a0]
inc eax
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 2
jge 0x10045985
mov eax, dword [ebp - 0x1a0]
mov dword [ebp + eax*4 - 0x828], 0xc4888999
jmp 0x1004595c
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x6c0], 0
jne 0x100459a3
or eax, 0xffffffff
jne 0x100459a3
and dword [ebp - 0x3b8], 0
jmp 0x100459ad
mov dword [ebp - 0x3b8], 1
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x3b8]
mov dword [ebp + eax - 0x828], ecx
jmp 0x1004593a
mov eax, dword [ebp - 0x8c]
cmp dword [eax], 0x4550
je 0x100459d8
jmp 0x1004988a
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x210], 0x1479b69b
mov dword [ebp - 0x4e0], 6
mov dword [ebp - 0x288], 0x6fbd10ca
push 3
lea ecx, [ebp - 0x734]
call fcn.1001854e
mov dword [ebp - 4], 3
mov dword [ebp - 0x820], 0xfffffffe
mov dword [ebp - 0x48], 0
jmp 0x10045a2b
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 3
jge 0x10045a41
mov eax, dword [ebp - 0x48]
mov dword [ebp + eax*4 - 0x698], 0xfffd
jmp 0x10045a24
mov dword [ebp - 0x48], 0
jmp 0x10045a51
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 3
jge 0x10045a6d
push dword [ebp - 0x48]
lea ecx, [ebp - 0x734]
call fcn.100185ec
mov dword [eax], 1
jmp 0x10045a4a
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x8b8], eax
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x698]
cmp dword [ebp - 0x38], eax
je 0x10045a93
mov dword [ebp - 0x48c], 1
jmp 0x10045a9a
and dword [ebp - 0x48c], 0
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x48c]
cmp eax, 0x20a6
jle 0x10045ab6
mov dword [ebp - 0x278], 1
jmp 0x10045abd
and dword [ebp - 0x278], 0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x210]
add eax, dword [ebp - 0x278]
mov dword [ebp - 0x4e0], eax
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x4e0], eax
je 0x10045af8
mov eax, 0x2e889ec
test eax, eax
je 0x10045af8
mov dword [ebp - 0x280], 1
jmp 0x10045aff
and dword [ebp - 0x280], 0
cmp dword [ebp - 0x280], 0x9cf7d164
jb 0x10045b17
mov dword [ebp - 0x5a4], 1
jmp 0x10045b1e
and dword [ebp - 0x5a4], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x698]
mov dword [ebp - 0x82c], eax
mov eax, dword [ebp - 0x210]
cmp dword [ebp - 0x38], eax
jl 0x10045b47
mov dword [ebp - 0x3c0], 1
jmp 0x10045b4e
and dword [ebp - 0x3c0], 0
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x890], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x698]
mov dword [ebp - 0x83c], eax
cmp dword [ebp - 0x38], 0x34a2c930
jg 0x10045b8e
mov dword [ebp - 0x460], 1
jmp 0x10045b95
and dword [ebp - 0x460], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x460]
sub ecx, dword [ebp + eax - 0x698]
je 0x10045bb0
cmp dword [ebp - 0x38], 0
jne 0x10045bc2
mov eax, 0xd3cd
test eax, eax
jne 0x10045bc2
and dword [ebp - 0x290], 0
jmp 0x10045bcc
mov dword [ebp - 0x290], 1
cmp dword [ebp - 0x290], 0x749efede
jl 0x10045bea
mov eax, 0xa9b65cab
test eax, eax
jne 0x10045bea
and dword [ebp - 0x3c8], 0
jmp 0x10045bf4
mov dword [ebp - 0x3c8], 1
push 1
lea ecx, [ebp - 0x734]
call fcn.100185ec
mov ecx, dword [ebp - 0x3c8]
mov dword [eax], ecx
mov dword [ebp - 0x38], 0xfffffff3
jmp 0x10045c19
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xfffffffc
jg 0x10045c41
mov byte [ebp - 0xa6], 0
movzx eax, byte [ebp - 0xa6]
test eax, eax
je 0x10045c3f
push 1
push 0x2af3
call fcn.10043d71
pop ecx
pop ecx
jmp 0x10045c12
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x734]
call fcn.100185d0
push 8
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x8c]
lea eax, [ecx + eax + 0x78]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xf0], 0x9dad
mov dword [ebp - 0x5b4], 0x6b379904
mov dword [ebp - 0x8bc], 0xfffffffa
mov dword [ebp - 0x84c], 1
mov dword [ebp - 0x898], 0xb8cff26a
mov dword [ebp - 0xf0], 1
mov dword [ebp - 0xf0], 0xfffffff9
jmp 0x10045cb8
mov eax, dword [ebp - 0xf0]
inc eax
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0x3a
je 0x10045e6f
push 1
lea ecx, [ebp - 0x25c]
call fcn.1001854e
mov dword [ebp - 4], 4
mov dword [ebp - 0x5bc], 0xc6dd
lea eax, [ebp - 0x25c]
push eax
push 0x620
push 0
lea eax, [ebp - 0x85c]
push eax
push 0x351e
push 0x543f
call fcn.100451f4
add esp, 0x18
push 0
lea ecx, [ebp - 0x25c]
call fcn.100185ec
mov dword [eax], 0xfffffffd
jmp 0x10045d43
push 0
lea ecx, [ebp - 0x25c]
call fcn.100185ec
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x298]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x298]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x25c]
call fcn.100185ec
cmp dword [eax], 0x18
jge 0x10045df5
mov dword [ebp - 0x5ac], 0xfffffffd
push 0
lea ecx, [ebp - 0x25c]
call fcn.100185ec
cmp dword [eax], 0
jne 0x10045d90
push 0
lea ecx, [ebp - 0x25c]
call fcn.100185ec
cmp dword [eax], 0
jne 0x10045d90
and dword [ebp - 0x4b0], 0
jmp 0x10045d9a
mov dword [ebp - 0x4b0], 1
cmp dword [ebp - 0x4b0], 0xfffffffb
jle 0x10045daf
mov dword [ebp - 0x2a0], 1
jmp 0x10045db6
and dword [ebp - 0x2a0], 0
push 0
lea ecx, [ebp - 0x25c]
call fcn.100185ec
mov eax, dword [eax]
cmp eax, dword [ebp - 0x2a0]
je 0x10045dd9
mov dword [ebp - 0x3d0], 1
jmp 0x10045de0
and dword [ebp - 0x3d0], 0
imul eax, dword [ebp - 0x3d0], 0x582f
mov dword [ebp - 0x5ac], eax
jmp 0x10045d1f
push 0
lea ecx, [ebp - 0x25c]
call fcn.100185ec
cmp dword [eax], 0
je 0x10045e40
mov dword [ebp - 0x2a8], 0xffffffff
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x8c0], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x86c], eax
push 0
lea ecx, [ebp - 0x25c]
call fcn.100185ec
mov eax, dword [eax]
mov dword [ebp - 0x5b4], eax
jmp 0x10045e5b
lea eax, [ebp - 0x5bc]
push eax
push 0x77c7
push 1
push 0x4134
call fcn.10043dd0
add esp, 0x10
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x25c]
call fcn.100185d0
jmp 0x10045cab
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 4], 0
jne 0x10045e7d
jmp 0x1004988a
mov dword [ebp - 0x248], 0xb0a3531f
mov dword [ebp - 0x70], 0x4868fdad
mov dword [ebp - 0x3e8], 0x8f58
mov dword [ebp - 0x14], 0
jmp 0x10045ea8
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jge 0x10045ebe
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x23c], 0xf90edcad
jmp 0x10045ea1
mov dword [ebp - 0x14], 0
jmp 0x10045ece
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jge 0x10045ee4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c8], 0xdef906d8
jmp 0x10045ec7
mov dword [ebp - 0x14], 0
jmp 0x10045ef4
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10045f0a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x51c], 0xe708bee
jmp 0x10045eed
mov dword [ebp - 0x14], 0
jmp 0x10045f1a
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10045f30
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x978], 0xffffffff
jmp 0x10045f13
mov dword [ebp - 0x14], 0
jmp 0x10045f40
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jge 0x10045f56
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x670], 0x7887b341
jmp 0x10045f39
mov byte [ebp - 0x74], 0
lea eax, [ebp - 0x74]
push eax
push 0
push 0x6ed6
push 0xb59
call fcn.10044320
add esp, 0x10
cmp dword [ebp - 0x70], 0
jne 0x10045fbe
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x2c8], 1
xor eax, eax
inc eax
je 0x10045fa3
mov eax, 0x79a2
test eax, eax
je 0x10045fa3
mov dword [ebp - 0x468], 1
jmp 0x10045faa
and dword [ebp - 0x468], 0
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x468], eax
jle 0x10045fbe
and dword [ebp - 0x5c4], 0
jmp 0x10045fc8
mov dword [ebp - 0x5c4], 1
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x51c]
inc eax
mov dword [ebp - 0x5cc], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x5cc]
mov dword [ebp + eax - 0x51c], ecx
mov eax, 0xed99
cmp eax, 0xf3f
jge 0x10046007
mov dword [ebp - 0x2b0], 1
jmp 0x1004600e
and dword [ebp - 0x2b0], 0
cmp dword [ebp - 0x2b0], 1
jle 0x10046023
mov dword [ebp - 0x5d4], 1
jmp 0x1004602a
and dword [ebp - 0x5d4], 0
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x7a0], eax
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x248], eax
jne 0x1004604d
cmp dword [ebp - 0x70], 0
jne 0x1004604d
and dword [ebp - 0x3d8], 0
jmp 0x10046057
mov dword [ebp - 0x3d8], 1
cmp dword [ebp - 0x3d8], 6
jg 0x1004606c
mov dword [ebp - 0x2b8], 1
jmp 0x10046073
and dword [ebp - 0x2b8], 0
mov eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x7a8], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x7b0], eax
xor eax, eax
inc eax
jne 0x100460b2
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x51c], 0
jne 0x100460b2
and dword [ebp - 0x4bc], 0
jmp 0x100460bc
mov dword [ebp - 0x4bc], 1
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x100460e7
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x51c], 0
je 0x100460e7
mov dword [ebp - 0x2c0], 1
jmp 0x100460ee
and dword [ebp - 0x2c0], 0
mov eax, dword [ebp - 0x3e8]
cmp dword [ebp - 0x2c0], eax
jne 0x10046108
mov dword [ebp - 0x21c], 1
jmp 0x1004610f
and dword [ebp - 0x21c], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x23c]
inc eax
mov dword [ebp - 0x3e0], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x3e0]
mov dword [ebp + eax - 0x23c], ecx
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x21c]
mov dword [ebp + eax - 0x978], ecx
imul eax, dword [ebp - 0x21c], 0x3d9
imul eax, eax, 0xbb81
cmp dword [ebp - 0x3e0], eax
jle 0x1004617a
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x2c8], 0
jne 0x1004617a
and dword [ebp - 0x470], 0
jmp 0x10046184
mov dword [ebp - 0x470], 1
cmp dword [ebp - 0x470], 0x5c0f
jge 0x1004619c
mov dword [ebp - 0x2d0], 1
jmp 0x100461a3
and dword [ebp - 0x2d0], 0
mov eax, dword [ebp - 0x2d0]
sub eax, dword [ebp - 0x3e8]
jne 0x100461ca
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x23c], 0
jne 0x100461ca
and dword [ebp - 0x2d8], 0
jmp 0x100461d4
mov dword [ebp - 0x2d8], 1
cmp dword [ebp - 0x2d8], 0
jge 0x100461e9
mov dword [ebp - 0x4b8], 1
jmp 0x100461f0
and dword [ebp - 0x4b8], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x4b8]
mov dword [ebp + eax - 0x670], ecx
and dword [ebp - 0x28], 0
push 4
lea ecx, [ebp - 0x4fc]
call fcn.1001854e
mov dword [ebp - 4], 5
mov dword [ebp - 0x7b8], 0xb4837182
mov dword [ebp - 0x2e8], 0xcf257925
mov dword [ebp - 0x400], 0xbe99b96b
push 1
lea eax, [ebp - 0x4fc]
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.10043e43
add esp, 0xc
mov dword [ebp - 0xe4], 0
jmp 0x1004626a
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 1
jge 0x10046286
mov eax, dword [ebp - 0xe4]
mov dword [ebp + eax*4 - 0xc8], 0xfffffffd
jmp 0x1004625d
mov byte [ebp - 0x76], 0
movzx eax, byte [ebp - 0x76]
test eax, eax
je 0x100462a9
push 0x2542
push 0x607
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0xc8], 0
jmp 0x100462d7
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xc8]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0xc8], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xc8], 3
jg 0x1004653d
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x40], 3
jmp 0x10046302
mov eax, dword [ebp - 0x40]
dec eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jl 0x1004652b
mov dword [ebp - 0x84], 0xb49d
mov dword [ebp - 0x798], 0xfffffff8
mov dword [ebp - 0x794], 0xfffffff8
mov dword [ebp - 0x790], 0xfffffff8
mov dword [ebp - 0x78c], 0xfffffff8
cmp dword [ebp - 0x2e8], 0
jne 0x10046416
push 4
pop eax
imul eax, eax, 0
mov esi, dword [ebp + eax - 0xc8]
push dword [ebp - 0x40]
lea ecx, [ebp - 0x4fc]
call fcn.100185ec
cmp esi, dword [eax]
jne 0x10046376
mov dword [ebp - 0x2e0], 1
jmp 0x1004637d
and dword [ebp - 0x2e0], 0
imul eax, dword [ebp - 0x2e0], 0xfffffff6
test eax, eax
je 0x1004639d
mov eax, 0xd088
test eax, eax
je 0x1004639d
mov dword [ebp - 0x3f0], 1
jmp 0x100463a4
and dword [ebp - 0x3f0], 0
mov esi, dword [ebp - 0x3f0]
neg esi
push dword [ebp - 0x40]
lea ecx, [ebp - 0x4fc]
call fcn.100185ec
cmp esi, dword [eax]
jle 0x100463c2
cmp dword [ebp - 0x40], 0
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xc8], 0
je 0x100463e7
cmp dword [ebp - 0x2e8], 0
je 0x100463e7
mov dword [ebp - 0x478], 1
jmp 0x100463ee
and dword [ebp - 0x478], 0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x4fc]
call fcn.100185ec
mov ecx, dword [ebp - 0x478]
imul ecx, dword [eax]
cmp ecx, 0x5540fff0
je 0x10046416
and dword [ebp - 0x2f0], 0
jmp 0x10046420
mov dword [ebp - 0x2f0], 1
cmp dword [ebp - 0x2f0], 0x357f
jne 0x10046438
mov dword [ebp - 0x3f8], 1
jmp 0x1004643f
and dword [ebp - 0x3f8], 0
cmp dword [ebp - 0x3f8], 0xfffffffe
jle 0x10046454
mov dword [ebp - 0x2f8], 1
jmp 0x1004645b
and dword [ebp - 0x2f8], 0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x4fc]
call fcn.100185ec
mov esi, eax
push dword [ebp - 0x40]
lea ecx, [ebp - 0x4fc]
call fcn.100185ec
mov ecx, dword [ebp - 0x2f8]
imul ecx, dword [eax]
neg ecx
cmp dword [esi], ecx
jne 0x10046494
mov dword [ebp - 0x4cc], 1
jmp 0x1004649b
and dword [ebp - 0x4cc], 0
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x4cc], eax
jg 0x100464bb
mov eax, 0xfffe
test eax, eax
je 0x100464bb
mov dword [ebp - 0x300], 1
jmp 0x100464c2
and dword [ebp - 0x300], 0
mov eax, dword [ebp - 0x84]
add eax, dword [ebp - 0x300]
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x798], eax
mov eax, dword [ebp - 0x84]
dec eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x84], 0
jmp 0x10046501
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 3
jg 0x10046526
mov byte [ebp - 0x78], 0
movzx eax, byte [ebp - 0x78]
test eax, eax
je 0x10046524
push 0x68c3
push 1
call fcn.10043eb1
pop ecx
pop ecx
jmp 0x100464f4
jmp 0x100462fb
mov eax, dword [ebp - 0x400]
dec eax
mov dword [ebp - 0x400], eax
jmp 0x100462bc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4fc]
call fcn.100185d0
mov eax, dword [ebp - 0x8c]
movzx eax, word [eax + 0x14]
mov ecx, dword [ebp - 0x8c]
lea eax, [ecx + eax + 0x18]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x330], 6
mov dword [ebp - 0x678], 0x5761ac7e
mov dword [ebp - 0x160], 0
jmp 0x10046597
mov eax, dword [ebp - 0x160]
inc eax
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 4
jge 0x100465b3
mov eax, dword [ebp - 0x160]
mov dword [ebp + eax*4 - 0x52c], 0xe0cf
jmp 0x1004658a
mov dword [ebp - 0x20], 0
jmp 0x100465c3
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jg 0x10046826
mov dword [ebp - 0x328], 0xffffffff
push 2
lea ecx, [ebp - 0x728]
call fcn.1001854e
mov dword [ebp - 4], 6
lea eax, [ebp - 0x7c0]
push eax
lea eax, [ebp - 0x728]
push eax
push 0
call fcn.1004511d
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x52c]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x52c], 0
jne 0x1004668a
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp + ecx*4 - 0x52c]
cmp dword [ebp + eax*4 - 0x52c], ecx
je 0x10046642
mov dword [ebp - 0x308], 1
jmp 0x10046649
and dword [ebp - 0x308], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x308], eax
jl 0x10046660
mov dword [ebp - 0x480], 1
jmp 0x10046667
and dword [ebp - 0x480], 0
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x480]
sub ecx, dword [ebp + eax - 0x52c]
imul ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x1004668a
and dword [ebp - 0x310], 0
jmp 0x10046694
mov dword [ebp - 0x310], 1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x52c]
cmp dword [ebp - 0x310], eax
jge 0x100466b5
mov dword [ebp - 0x408], 1
jmp 0x100466bc
and dword [ebp - 0x408], 0
mov eax, dword [ebp - 0x408]
add eax, 0xfffd
cmp eax, dword [ebp - 0x20]
jge 0x100466d8
mov dword [ebp - 0x318], 1
jmp 0x100466df
and dword [ebp - 0x318], 0
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x52c]
cmp dword [ebp - 0x318], eax
jg 0x100466fd
mov dword [ebp - 0x4d4], 1
jmp 0x10046704
and dword [ebp - 0x4d4], 0
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x52c]
cmp dword [ebp - 0x4d4], eax
jl 0x10046722
mov dword [ebp - 0x320], 1
jmp 0x10046729
and dword [ebp - 0x320], 0
cmp dword [ebp - 0x320], 0x8722
jl 0x10046741
mov dword [ebp - 0x410], 1
jmp 0x10046748
and dword [ebp - 0x410], 0
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x488], eax
push 0
lea ecx, [ebp - 0x728]
call fcn.100185ec
mov ecx, dword [ebp - 0x488]
mov dword [eax], ecx
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x330]
shl eax, 3
cmp eax, 0xfffffff8
je 0x1004679b
mov dword [ebp - 0x418], 1
jmp 0x100467a2
and dword [ebp - 0x418], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x418], eax
jne 0x100467b9
mov dword [ebp - 0x338], 1
jmp 0x100467c0
and dword [ebp - 0x338], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x338], eax
jg 0x100467d7
mov dword [ebp - 0x4d8], 1
jmp 0x100467de
and dword [ebp - 0x4d8], 0
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x52c]
cmp dword [ebp - 0x4d8], eax
jg 0x100467fc
mov dword [ebp - 0x340], 1
jmp 0x10046803
and dword [ebp - 0x340], 0
mov eax, dword [ebp - 0x340]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x678], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x728]
call fcn.100185d0
jmp 0x100465bc
and dword [ebp - 0x224], 0
jmp 0x10046845
mov eax, dword [ebp - 0x224]
inc eax
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x50]
add eax, 0x28
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x8c]
movzx eax, word [eax + 6]
cmp dword [ebp - 0x224], eax
jge 0x100468b5
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x420]
jb 0x100468b0
mov eax, dword [ebp - 0x8c]
push dword [eax + 0x38]
mov eax, dword [ebp - 0x50]
push dword [eax + 8]
call fcn.10043c1a
pop ecx
pop ecx
add eax, dword [ebp - 0x420]
mov dword [ebp - 0x674], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x674]
jae 0x100468b0
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
mov eax, dword [eax + 0x14]
sub eax, dword [ecx + 0xc]
mov dword [ebp - 0x28], eax
jmp 0x100468b5
jmp 0x1004682f
mov dword [ebp - 0x168], 1
mov dword [ebp - 0x1a8], 0
jmp 0x100468d8
mov eax, dword [ebp - 0x1a8]
inc eax
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 3
jge 0x100468f4
mov eax, dword [ebp - 0x1a8]
mov dword [ebp + eax*4 - 0x9fc], 3
jmp 0x100468cb
mov dword [ebp - 0x168], 0
jmp 0x1004690d
mov eax, dword [ebp - 0x168]
inc eax
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 2
jg 0x1004692c
mov byte [ebp - 0x7a], 0
movzx eax, byte [ebp - 0x7a]
test eax, eax
je 0x1004692a
push 0
call fcn.10044de9
pop ecx
jmp 0x10046900
mov byte [ebp - 0x95], 0
movzx eax, byte [ebp - 0x95]
test eax, eax
je 0x10046952
push 0
push 0x1836
push 0x1e9f
call fcn.100443b3
add esp, 0xc
cmp dword [ebp - 0x28], 0
jne 0x1004695d
jmp 0x1004988a
mov dword [ebp - 0x668], 0x177e8edf
mov dword [ebp - 0x154], 0
jmp 0x10046980
mov eax, dword [ebp - 0x154]
inc eax
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 1
jge 0x1004699c
mov eax, dword [ebp - 0x154]
mov dword [ebp + eax*4 - 0x57c], 0x245f1dbe
jmp 0x10046973
cmp dword [ebp - 0x668], 0
je 0x100469cc
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x57c], 0xffffffff
push 0x53bd
push 0
push 0x2ecc
call fcn.10043fbf
add esp, 0xc
jmp 0x100469e8
mov byte [ebp - 0x71], 0
push 0x1629
lea eax, [ebp - 0x71]
push eax
push 0x4023
push 1
call fcn.10043eed
add esp, 0x10
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x28]
add ecx, dword [eax]
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x18], ecx
xor ecx, ecx
call fcn.1002f9c0
push eax
call fcn.1006c558
pop ecx
mov dword [ebp - 0x6d4], 0xfffffff9
mov dword [ebp - 0x6d0], 0xfffffff9
mov dword [ebp - 0x6cc], 0xfffffff9
mov dword [ebp - 0x6c8], 0xfffffff9
lea ecx, [ebp - 0x23d]
call fcn.1000b803
push eax
lea eax, [ebp - 0x6c4]
push eax
lea eax, [ebp - 0x6d4]
push eax
lea ecx, [ebp - 0x8f8]
call fcn.100185fb
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x6a4]
call fcn.100185aa
mov dword [ebp - 4], 7
mov dword [ebp - 0x1ac], 0
jmp 0x10046a81
mov eax, dword [ebp - 0x1ac]
inc eax
mov dword [ebp - 0x1ac], eax
cmp dword [ebp - 0x1ac], 1
jge 0x10046a9d
mov eax, dword [ebp - 0x1ac]
mov dword [ebp + eax*4 - 0xf8], 7
jmp 0x10046a74
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0xf8], 0
jmp 0x10046acb
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xf8]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0xf8], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xf8], 3
jg 0x10046b70
mov dword [ebp - 0xc0], 0xfffffffb
mov dword [ebp - 0xc0], 3
jmp 0x10046b02
mov eax, dword [ebp - 0xc0]
dec eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jl 0x10046b53
mov byte [ebp - 0x75], 0
push 1
push 0x1f94
lea eax, [ebp - 0x75]
push eax
call fcn.10043f6a
add esp, 0xc
push 4
pop eax
imul eax, eax, 0
push dword [ebp + eax - 0xf8]
lea ecx, [ebp - 0x6a4]
call fcn.100185ec
mov esi, eax
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x6a4]
call fcn.100185ec
mov ecx, dword [esi]
mov dword [eax], ecx
jmp 0x10046af5
lea eax, [ebp - 0xc0]
push eax
push 1
lea eax, [ebp - 0x6a4]
push eax
call fcn.10043fbf
add esp, 0xc
jmp 0x10046ab0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6a4]
call fcn.100185d0
mov byte [ebp - 0x20c], 7
mov byte [ebp - 0x20b], 0x44
mov byte [ebp - 0x20a], 4
mov byte [ebp - 0x209], 0xe
mov byte [ebp - 0x208], 8
mov byte [ebp - 0x207], 8
mov byte [ebp - 0x206], 1
mov byte [ebp - 0x205], 5
mov byte [ebp - 0x204], 9
mov byte [ebp - 0x203], 5
mov byte [ebp - 0x202], 2
mov byte [ebp - 0x201], 7
mov byte [ebp - 0x200], 6
mov byte [ebp - 0x1ff], 6
mov byte [ebp - 0x1fe], 5
mov byte [ebp - 0x1fd], 0
mov byte [ebp - 0x1fc], 0x4b
mov byte [ebp - 0x1fb], 0x5c
mov byte [ebp - 0x1fa], 0x3c
mov byte [ebp - 0x1f9], 0x74
mov byte [ebp - 0x1f8], 0xea
mov byte [ebp - 0x1f7], 0x5e
mov byte [ebp - 0x1f6], 0x23
mov byte [ebp - 0x1f5], 0x5e
mov byte [ebp - 0x1f4], 0x17
mov byte [ebp - 0x1f3], 0xd3
mov byte [ebp - 0x1f2], 0xb4
mov byte [ebp - 0x1f1], 0x1a
mov byte [ebp - 0x1f0], 0xa8
mov byte [ebp - 0x1ef], 0x88
mov byte [ebp - 0x1ee], 0x3b
mov byte [ebp - 0x1ed], 0x10
mov byte [ebp - 0x1ec], 0xd8
mov byte [ebp - 0x1eb], 0x3d
mov byte [ebp - 0x1ea], 0x58
mov byte [ebp - 0x1e9], 0x5c
mov byte [ebp - 0x1e8], 9
mov byte [ebp - 0x1e7], 0x68
mov byte [ebp - 0x1e6], 0x24
mov byte [ebp - 0x1e5], 6
mov byte [ebp - 0x1e4], 0xfa
mov byte [ebp - 0x1e3], 0x11
mov byte [ebp - 0x1e2], 0xe7
mov byte [ebp - 0x1e1], 0xdc
mov byte [ebp - 0x1e0], 0x70
mov byte [ebp - 0x1df], 0x81
mov byte [ebp - 0x1de], 0x52
mov byte [ebp - 0x1dd], 0x72
mov byte [ebp - 0x1dc], 0xb1
mov byte [ebp - 0x1db], 0xc3
mov byte [ebp - 0x1da], 0x4e
mov byte [ebp - 0x1d9], 0x98
mov byte [ebp - 0x1d8], 0x42
mov byte [ebp - 0x1d7], 0x21
mov byte [ebp - 0x1d6], 0xe1
mov byte [ebp - 0x1d5], 0x62
mov byte [ebp - 0x1d4], 0xb8
mov byte [ebp - 0x1d3], 0x8d
mov byte [ebp - 0x1d2], 0xb1
mov byte [ebp - 0x1d1], 0x25
mov byte [ebp - 0x1d0], 0x1c
mov byte [ebp - 0x1cf], 0xbc
mov byte [ebp - 0x1ce], 0x13
mov byte [ebp - 0x1cd], 0x47
mov byte [ebp - 0x1cc], 0x2a
mov byte [ebp - 0x1cb], 0x4e
mov byte [ebp - 0x1ca], 0xd5
mov byte [ebp - 0x1c9], 0xb
mov byte [ebp - 0x1c8], 0xdd
mov byte [ebp - 0x1c7], 0x50
mov byte [ebp - 0x1c6], 0x95
mov byte [ebp - 0x1c5], 0x8e
mov byte [ebp - 0x1c4], 0x37
mov byte [ebp - 0x1c3], 0xf8
mov byte [ebp - 0x1c2], 0xd4
mov byte [ebp - 0x1c1], 0xa4
mov byte [ebp - 0x1c0], 2
mov byte [ebp - 0x1bf], 0xdc
mov byte [ebp - 0x1be], 0x27
mov byte [ebp - 0x1bd], 0xd2
mov byte [ebp - 0x1bc], 0x26
mov byte [ebp - 0x1bb], 0x12
mov byte [ebp - 0x1ba], 0x24
mov byte [ebp - 0x1b9], 0x8f
mov byte [ebp - 0x1b8], 0x44
mov byte [ebp - 0x1b7], 0xe8
mov byte [ebp - 0x1b6], 0x7f
mov byte [ebp - 0x1b5], 0xe
mov byte [ebp - 0x1b4], 0xa0
mov byte [ebp - 0x1b3], 0xbe
mov byte [ebp - 0x1b2], 0xe4
mov byte [ebp - 0x1b1], 0xaf
mov byte [ebp - 0x1b0], 0
mov byte [ebp - 0x1af], 0
mov byte [ebp - 0x1ae], 3
mov byte [ebp - 0x1ad], 6
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x20c]
or eax, 0x72
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x20c]
and ecx, 0x72
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0x20c]
mov byte [ebp + ecx - 0x514], al
mov dword [ebp - 0x34], 2
and dword [ebp - 0x174], 0
jmp 0x10046e70
mov eax, dword [ebp - 0x34]
inc eax
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x60
jae 0x10046f26
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x20c]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x34], eax
jne 0x10046eba
mov eax, dword [ebp - 0x34]
movzx eax, byte [ebp + eax - 0x20c]
inc eax
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x34]
movzx eax, byte [ebp + eax - 0x20c]
mov ecx, dword [ebp - 0x34]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x34], eax
jmp 0x10046e68
mov eax, dword [ebp - 0x34]
movzx eax, byte [ebp + eax - 0x20b]
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x174]
movzx ecx, byte [ebp + ecx - 0x20e]
movsx ecx, byte [ebp + ecx - 0x514]
or eax, ecx
mov ecx, dword [ebp - 0x34]
movzx ecx, byte [ebp + ecx - 0x20b]
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x174]
movzx edx, byte [ebp + edx - 0x20e]
movsx edx, byte [ebp + edx - 0x514]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x34]
movzx ecx, byte [ebp + ecx - 0x20c]
mov byte [ebp + ecx - 0x514], al
and dword [ebp - 0x174], 0
jmp 0x10046e68
xor eax, eax
inc eax
imul eax, eax, 0xa
mov byte [ebp + eax - 0x514], 0
mov dword [ebp - 0x110], 0x111738ab
mov dword [ebp - 0x17c], 0x8c443eb6
mov dword [ebp - 0x100], 0xc019
mov dword [ebp - 0x194], 0
jmp 0x10046f6b
mov eax, dword [ebp - 0x194]
inc eax
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 3
jge 0x10046f87
mov eax, dword [ebp - 0x194]
mov dword [ebp + eax*4 - 0x8f0], 0xa67f6a19
jmp 0x10046f5e
mov byte [ebp - 0x7c], 0
push 0x38e5
lea eax, [ebp - 0x7c]
push eax
push 0
push 0xec
call fcn.1004482b
add esp, 0x10
mov dword [ebp - 0x17c], 0x88d0
cmp dword [ebp - 0x17c], 0x9300
jl 0x10046fc5
mov dword [ebp - 0x558], 1
jmp 0x10046fcc
and dword [ebp - 0x558], 0
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x7d0], eax
cmp dword [ebp - 0x110], 1
jg 0x10046fed
mov dword [ebp - 0x348], 1
jmp 0x10046ff4
and dword [ebp - 0x348], 0
cmp dword [ebp - 0x348], 0xe661
jl 0x1004700c
mov dword [ebp - 0x490], 1
jmp 0x10047013
and dword [ebp - 0x490], 0
mov eax, dword [ebp - 0x100]
cmp dword [ebp - 0x490], eax
jl 0x10047034
push 0xfffffffffffffffa
pop eax
test eax, eax
je 0x10047034
mov dword [ebp - 0x350], 1
jmp 0x1004703b
and dword [ebp - 0x350], 0
imul eax, dword [ebp - 0x350], 0xfff9
imul eax, eax, 0xe8b0
cmp eax, 4
jae 0x1004705c
mov dword [ebp - 0x428], 1
jmp 0x10047063
and dword [ebp - 0x428], 0
mov eax, dword [ebp - 0x17c]
cmp dword [ebp - 0x428], eax
jne 0x1004707d
mov dword [ebp - 0x358], 1
jmp 0x10047084
and dword [ebp - 0x358], 0
cmp dword [ebp - 0x358], 0xd3e9
jle 0x1004709d
xor eax, eax
jne 0x1004709d
and dword [ebp - 0x54c], 0
jmp 0x100470a7
mov dword [ebp - 0x54c], 1
mov eax, 0xc89d73ae
test eax, eax
jne 0x100470cb
cmp dword [ebp - 0x110], 0
jne 0x100470cb
cmp dword [ebp - 0x17c], 0
jne 0x100470cb
and dword [ebp - 0x49c], 0
jmp 0x100470d5
mov dword [ebp - 0x49c], 1
mov eax, dword [ebp - 0x49c]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
je 0x10047109
mov dword [ebp - 0x560], 0xa53f
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x8f0]
mov dword [ebp - 0x560], eax
jmp 0x10047158
mov dword [ebp - 0x100], 0xfffffff2
jmp 0x10047122
mov eax, dword [ebp - 0x100]
inc eax
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0xd
jle 0x10047144
mov dword [ebp - 0x360], 0x71cc
mov eax, dword [ebp - 0x360]
inc eax
mov dword [ebp - 0x360], eax
jmp 0x10047115
mov byte [ebp - 0x73], 0
movzx eax, byte [ebp - 0x73]
test eax, eax
je 0x10047158
push 1
call fcn.10044066
pop ecx
lea eax, [ebp - 0x514]
push eax
lea ecx, [ebp - 0x990]
call fcn.10025f87
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x654]
mov dword [ebp - 0x568], eax
mov dword [ebp - 4], 8
push 0xa
xor edx, edx
mov ecx, dword [ebp - 0x568]
call fcn.1002f980
pop ecx
mov dword [ebp - 0x65c], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x990]
call fcn.100184b0
and dword [ebp - 0x1a4], 0
jmp 0x100471be
mov eax, dword [ebp - 0x1a4]
inc eax
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0xb
jae 0x100471d7
mov eax, dword [ebp - 0x1a4]
mov byte [ebp + eax - 0x514], 0
jmp 0x100471b1
mov dword [ebp - 0x184], 1
mov dword [ebp - 0x184], 0
jmp 0x100471fa
mov eax, dword [ebp - 0x184]
inc eax
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x184], 0xd
jg 0x10047240
mov dword [ebp - 0x62c], 4
mov byte [ebp - 0x85], 0
movzx eax, byte [ebp - 0x85]
test eax, eax
je 0x10047233
push 0
push 0x10a7
push 0x68d3
call fcn.10044252
add esp, 0xc
cmp dword [ebp - 0x62c], 0
je 0x1004723e
jmp 0x10047240
jmp 0x100471ed
mov dword [ebp - 0x548], 0x61928c17
mov dword [ebp - 0x544], 0x61928c17
mov dword [ebp - 0x540], 0x61928c17
mov dword [ebp - 0x53c], 0x61928c17
mov dword [ebp - 0x19c], 1
mov dword [ebp - 0x430], 0xd193e05
mov dword [ebp - 0x4a4], 0x2baef6e2
mov dword [ebp - 0x370], 0x15466bc6
push 3
lea ecx, [ebp - 0x71c]
call fcn.1001854e
mov dword [ebp - 4], 9
mov dword [ebp - 0x570], 0xfffffff9
lea eax, [ebp - 0x7d8]
push eax
push 1
push 0x1be1
lea eax, [ebp - 0x71c]
push eax
push 0x55ed
push 0x71d7
call fcn.10044099
add esp, 0x18
push 0x63e9
lea eax, [ebp - 0x19c]
push eax
push 1
call fcn.100441db
add esp, 0xc
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x548], 0
jne 0x10047307
mov dword [ebp - 0x368], 1
jmp 0x1004730e
and dword [ebp - 0x368], 0
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
push 4
pop ecx
imul ecx, ecx, 3
sub eax, dword [ebp + ecx - 0x548]
mov dword [ebp - 0x430], eax
mov eax, dword [ebp - 0x430]
cmp eax, dword [ebp - 0x368]
jge 0x1004734d
mov dword [ebp - 0x378], 1
jmp 0x10047354
and dword [ebp - 0x378], 0
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x548], 0
jne 0x10047370
mov dword [ebp - 0x498], 1
jmp 0x10047377
and dword [ebp - 0x498], 0
mov eax, dword [ebp - 0x498]
mov dword [ebp - 0x370], eax
mov eax, dword [ebp - 0x370]
mov dword [ebp - 0x438], eax
push 1
lea ecx, [ebp - 0x71c]
call fcn.100185ec
mov ecx, dword [ebp - 0x438]
mov dword [eax], ecx
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x548]
cmp dword [ebp - 0x438], eax
jl 0x100473c5
mov dword [ebp - 0x380], 1
jmp 0x100473cc
and dword [ebp - 0x380], 0
push 4
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x378]
sub ecx, dword [ebp + eax - 0x548]
mov dword [ebp - 0x4a4], ecx
mov eax, dword [ebp - 0x4a4]
imul eax, dword [ebp - 0x380]
cmp eax, 0x5de1fc65
je 0x10047405
mov dword [ebp - 0x440], 1
jmp 0x1004740c
and dword [ebp - 0x440], 0
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0x570], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x71c]
call fcn.100185d0
mov byte [ebp - 0x150], 6
mov byte [ebp - 0x14f], 0xd8
mov byte [ebp - 0x14e], 8
mov byte [ebp - 0x14d], 9
mov byte [ebp - 0x14c], 4
mov byte [ebp - 0x14b], 4
mov byte [ebp - 0x14a], 7
mov byte [ebp - 0x149], 2
mov byte [ebp - 0x148], 3
mov byte [ebp - 0x147], 4
mov byte [ebp - 0x146], 9
mov byte [ebp - 0x145], 2
mov byte [ebp - 0x144], 2
mov byte [ebp - 0x143], 7
mov byte [ebp - 0x142], 0x12
mov byte [ebp - 0x141], 0x55
mov byte [ebp - 0x140], 0x33
mov byte [ebp - 0x13f], 0xfc
mov byte [ebp - 0x13e], 6
mov byte [ebp - 0x13d], 0xb7
mov byte [ebp - 0x13c], 0xfa
mov byte [ebp - 0x13b], 0x39
mov byte [ebp - 0x13a], 0xf1
mov byte [ebp - 0x139], 0x85
mov byte [ebp - 0x138], 1
mov byte [ebp - 0x137], 0x70
mov byte [ebp - 0x136], 0x2d
mov byte [ebp - 0x135], 0x77
mov byte [ebp - 0x134], 0xe0
mov byte [ebp - 0x133], 0x34
mov byte [ebp - 0x132], 0x96
mov byte [ebp - 0x131], 0x81
mov byte [ebp - 0x130], 0x62
mov byte [ebp - 0x12f], 0
mov byte [ebp - 0x12e], 6
mov byte [ebp - 0x12d], 1
mov byte [ebp - 0x12c], 7
mov byte [ebp - 0x12b], 5
mov byte [ebp - 0x12a], 7
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x150]
or eax, 0xe1
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x150]
and ecx, 0xe1
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0x150]
mov byte [ebp + ecx - 0x4f0], al
mov dword [ebp - 0x2c], 2
and dword [ebp - 0x124], 0
jmp 0x1004758e
mov eax, dword [ebp - 0x2c]
inc eax
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x27
jae 0x1004767b
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x150]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x2c], eax
jne 0x100475d8
mov eax, dword [ebp - 0x2c]
movzx eax, byte [ebp + eax - 0x150]
inc eax
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [ebp + eax - 0x150]
mov ecx, dword [ebp - 0x2c]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x2c], eax
jmp 0x10047586
mov eax, dword [ebp - 0x2c]
movzx eax, byte [ebp + eax - 0x14f]
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x124]
movzx ecx, byte [ebp + ecx - 0x152]
movsx ecx, byte [ebp + ecx - 0x4f0]
add eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0x14f]
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x124]
movzx edx, byte [ebp + edx - 0x152]
movsx edx, byte [ebp + edx - 0x4f0]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0x14f]
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x124]
movzx edx, byte [ebp + edx - 0x152]
movsx edx, byte [ebp + edx - 0x4f0]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0x150]
mov byte [ebp + ecx - 0x4f0], al
push 0
push 0x64fe
lea eax, [ebp - 0x124]
push eax
call fcn.100447cf
add esp, 0xc
jmp 0x10047586
xor eax, eax
inc eax
imul eax, eax, 0xa
mov byte [ebp + eax - 0x4f0], 0
mov dword [ebp - 0xd4], 2
mov dword [ebp - 0xb0], 0xd2703d9b
mov dword [ebp - 0x390], 0
mov dword [ebp - 0x3b0], 0xff57440e
mov dword [ebp - 0x66c], 1
mov dword [ebp - 0x18c], 0
jmp 0x100476d4
mov eax, dword [ebp - 0x18c]
inc eax
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 1
jge 0x100476f0
mov eax, dword [ebp - 0x18c]
mov dword [ebp + eax*4 - 0x108], 0xc64a
jmp 0x100476c7
mov dword [ebp - 0xd4], 0
jmp 0x10047709
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
jg 0x10047743
mov byte [ebp - 0x77], 0
movzx eax, byte [ebp - 0x77]
test eax, eax
je 0x10047741
push 0x2611
push 0
push 0x22e1
push 0xeb2
push 0x3b4c
push 0x7673
call fcn.10044ec1
add esp, 0x18
jmp 0x100476fc
mov dword [ebp - 0xd4], 0x86bd085
mov eax, dword [ebp - 0xb0]
cmp dword [ebp - 0xd4], eax
jne 0x10047767
mov dword [ebp - 0x450], 1
jmp 0x1004776e
and dword [ebp - 0x450], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x108]
mov dword [ebp - 0x87c], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x108]
push 4
pop ecx
imul ecx, ecx, 0
imul eax, dword [ebp + ecx - 0x108]
cmp dword [ebp - 0xb0], eax
jg 0x100477b0
mov dword [ebp - 0x388], 1
jmp 0x100477b7
and dword [ebp - 0x388], 0
mov eax, dword [ebp - 0xb0]
cmp dword [ebp - 0x388], eax
jne 0x100477d1
mov dword [ebp - 0x4ac], 1
jmp 0x100477d8
and dword [ebp - 0x4ac], 0
imul eax, dword [ebp - 0x4ac], 0x9561
mov dword [ebp - 0x390], eax
cmp dword [ebp - 0x390], 0
jne 0x100477fd
mov dword [ebp - 0x448], 1
jmp 0x10047804
and dword [ebp - 0x448], 0
cmp dword [ebp - 0x448], 1
jg 0x10047819
mov dword [ebp - 0x398], 1
jmp 0x10047820
and dword [ebp - 0x398], 0
mov eax, dword [ebp - 0xb0]
cmp dword [ebp - 0x398], eax
je 0x1004783a
mov dword [ebp - 0x4d0], 1
jmp 0x10047841
and dword [ebp - 0x4d0], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x4d0]
sub ecx, dword [ebp + eax - 0x108]
sub ecx, 0xabef
cmp ecx, 0xd0b6bd0d
jae 0x1004786e
mov dword [ebp - 0x3a0], 1
jmp 0x10047875
and dword [ebp - 0x3a0], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xb0]
imul ecx, dword [ebp - 0x3a0]
cmp dword [ebp + eax - 0x108], ecx
jl 0x1004789d
mov dword [ebp - 0x3a8], 1
jmp 0x100478a4
and dword [ebp - 0x3a8], 0
mov eax, dword [ebp - 0x450]
cmp eax, dword [ebp - 0x3a8]
jg 0x100478be
mov dword [ebp - 0x4a8], 1
jmp 0x100478c5
and dword [ebp - 0x4a8], 0
mov eax, dword [ebp - 0x4a8]
mov dword [ebp - 0x3b0], eax
mov eax, dword [ebp - 0xb0]
cmp dword [ebp - 0x3b0], eax
jne 0x100478eb
mov dword [ebp - 0x458], 1
jmp 0x100478f2
and dword [ebp - 0x458], 0
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x66c], eax
lea eax, [ebp - 0x4f0]
push eax
lea ecx, [ebp - 0x9c0]
call fcn.10025f87
mov dword [ebp - 0x578], eax
mov eax, dword [ebp - 0x578]
mov dword [ebp - 0x634], eax
mov dword [ebp - 4], 0xa
push 0xa
xor edx, edx
mov ecx, dword [ebp - 0x634]
call fcn.1002f980
pop ecx
mov dword [ebp - 0x580], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c0]
call fcn.100184b0
and dword [ebp - 0x16c], 0
jmp 0x10047964
mov eax, dword [ebp - 0x16c]
inc eax
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x16c], 0xb
jae 0x1004797d
mov eax, dword [ebp - 0x16c]
mov byte [ebp + eax - 0x4f0], 0
jmp 0x10047957
push dword [ebp - 0x580]
push dword [ebp - 0x65c]
call fcn.10041592
pop ecx
pop ecx
mov dword [ebp - 0x2bc], eax
push 3
lea ecx, [ebp - 0x77c]
call fcn.1001854e
mov dword [ebp - 4], 0xb
mov dword [ebp - 0xf4], 0xe125d16d
mov dword [ebp - 0x598], 1
push 1
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x77c]
push eax
call fcn.10044252
add esp, 0xc
mov dword [ebp - 0xe8], 0
jmp 0x100479ef
mov eax, dword [ebp - 0xe8]
inc eax
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 4
jge 0x10047a0b
mov eax, dword [ebp - 0xe8]
mov dword [ebp + eax*4 - 0x8e4], 0x3187110e
jmp 0x100479e2
mov byte [ebp - 0xa5], 0
push 0x6d3d
lea eax, [ebp - 0xa5]
push eax
push 1
call fcn.100442b8
add esp, 0xc
mov dword [ebp - 0xf4], 2
jmp 0x10047a41
cmp dword [ebp - 0xf4], 0
jl 0x10047d5e
push 4
lea ecx, [ebp - 0x508]
call fcn.1001854e
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x884], 0x3809d010
mov dword [ebp - 0x88c], 1
push 1
lea ecx, [ebp - 0x764]
call fcn.1001854e
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x894], 1
mov dword [ebp - 0x63c], 9
push 0x23a3
push 1
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x508]
push eax
call fcn.10044320
add esp, 0x10
mov dword [ebp - 0xec], 0
jmp 0x10047ace
cmp dword [ebp - 0xec], 1
jge 0x10047af0
push dword [ebp - 0xec]
lea ecx, [ebp - 0x764]
call fcn.100185ec
mov dword [eax], 0x8afc1da7
jmp 0x10047ac1
push 2
lea ecx, [ebp - 0x508]
call fcn.100185ec
mov dword [eax], 2
jmp 0x10047b29
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x77c]
call fcn.100185d0
push 1
lea eax, [ebp - 0x2bc]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.100443b3
add esp, 0xc
mov dword [ebp - 0x178], 0
jmp 0x10047d9e
cmp dword [ebp - 0x178], 3
jge 0x10047dba
mov eax, dword [ebp - 0x178]
mov dword [ebp + eax*4 - 0x6b0], 0x64a6847d
jmp 0x10047d91
push 4
pop eax
shl eax, 1
mov dword [ebp + eax - 0x6b0], 0
jmp 0x10047de5
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x574], eax
mov eax, dword [ebp - 0x574]
mov dword [ebp - 0x484], eax
mov eax, dword [ebp - 0x484]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x484]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret