Function at 0x10047c4c
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 0x1006e36c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1b860
call fcn.100689c0
push esi
and dword [ebp - 0x24], 0
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x10049878
mov eax, dword [ebp + 8]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x280], eax
lea eax, [ebp + 0x14]
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x1fc]
movzx eax, byte [eax]
test eax, eax
je 0x10049785
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1b8]
movzx eax, word [eax]
cmp eax, 0x5a4d
je 0x10047ced
jmp 0x10049896
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x30]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x50]
cmp dword [eax], 0x4550
je 0x10047d0c
jmp 0x10049896
push 8
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x50]
lea eax, [ecx + eax + 0x78]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 4], 0
jne 0x10047d2a
jmp 0x10049896
and dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x50]
movzx eax, word [eax + 0x14]
mov ecx, dword [ebp - 0x50]
lea eax, [ecx + eax + 0x18]
mov dword [ebp - 0x58], eax
and dword [ebp - 0x180], 0
jmp 0x10047d5e
mov eax, dword [ebp - 0x180]
inc eax
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x58]
add eax, 0x28
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x50]
movzx eax, word [eax + 6]
cmp dword [ebp - 0x180], eax
jge 0x10047e1d
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x1a4]
jb 0x10047e18
mov eax, dword [ebp - 0x50]
push dword [eax + 0x38]
mov eax, dword [ebp - 0x58]
push dword [eax + 8]
call fcn.10047404
pop ecx
pop ecx
add eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x240]
jae 0x10047e18
push 0x257d
push 0x267
push 0x2395
lea eax, [ebp - 0x58]
push eax
push 0x5f76
push 0x484d
push 0xc1b
push 0x3ccd
push 0x2cf6
lea eax, [ebp - 0x34]
push eax
push 0
push 0x2285
push 0x474a
push 0x35e5
push 0xebe
push 1
push 0x1163
push 0
push 0x7c74
call fcn.100476f0
add esp, 0x4c
jmp 0x10047e1d
jmp 0x10047d48
cmp dword [ebp - 0x34], 0
jne 0x10047e28
jmp 0x10049896
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
add ecx, dword [eax]
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x20], ecx
xor ecx, ecx
call fcn.1003dbc0
push eax
call fcn.10056ea8
pop ecx
mov byte [ebp - 0xf0], 2
mov byte [ebp - 0xef], 0x42
mov byte [ebp - 0xee], 4
mov byte [ebp - 0xed], 0xf
mov byte [ebp - 0xec], 9
mov byte [ebp - 0xeb], 8
mov byte [ebp - 0xea], 0x1f
mov byte [ebp - 0xe9], 0xcc
mov byte [ebp - 0xe8], 0x46
mov byte [ebp - 0xe7], 0xd9
mov byte [ebp - 0xe6], 0xce
mov byte [ebp - 0xe5], 0x10
mov byte [ebp - 0xe4], 0xaa
mov byte [ebp - 0xe3], 0xba
mov byte [ebp - 0xe2], 0x38
mov byte [ebp - 0xe1], 0xd
mov byte [ebp - 0xe0], 0xdd
mov byte [ebp - 0xdf], 0x1e
mov byte [ebp - 0xde], 0x1d
mov byte [ebp - 0xdd], 0x99
mov byte [ebp - 0xdc], 0x54
mov byte [ebp - 0xdb], 0x8c
mov byte [ebp - 0xda], 0x7d
mov byte [ebp - 0xd9], 0x20
mov byte [ebp - 0xd8], 0xc0
mov byte [ebp - 0xd7], 0x49
mov byte [ebp - 0xd6], 0xb4
mov byte [ebp - 0xd5], 0xe8
mov byte [ebp - 0xd4], 0x95
mov byte [ebp - 0xd3], 0xe6
mov byte [ebp - 0xd2], 0x85
mov byte [ebp - 0xd1], 0xec
mov byte [ebp - 0xd0], 0x4e
mov byte [ebp - 0xcf], 0
mov byte [ebp - 0xce], 0xc6
mov byte [ebp - 0xcd], 0xf6
mov byte [ebp - 0xcc], pe_nt_image_headers32
mov byte [ebp - 0xcb], 0x69
mov byte [ebp - 0xca], 0
mov byte [ebp - 0xc9], 1
mov byte [ebp - 0xc8], 5
mov byte [ebp - 0xc7], 0
mov byte [ebp - 0xc6], 1
mov byte [ebp - 0xc5], 4
mov byte [ebp - 0xc4], 7
mov byte [ebp - 0xc3], 3
mov byte [ebp - 0xc2], 6
mov byte [ebp - 0xc1], 7
mov byte [ebp - 0xc0], 8
mov byte [ebp - 0xbf], 1
mov byte [ebp - 0xbe], 3
mov byte [ebp - 0xbd], 7
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0xf0]
or eax, 0x75
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0xf0]
and ecx, 0x75
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0xf0]
mov byte [ebp + ecx - 0x1d4], al
mov dword [ebp - 0x28], 2
and dword [ebp - 0x6c], 0
jmp 0x10047ffe
mov eax, dword [ebp - 0x28]
inc eax
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x34
jae 0x100480cd
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0xf0]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x28], eax
jne 0x10048045
mov eax, dword [ebp - 0x28]
movzx eax, byte [ebp + eax - 0xf0]
inc eax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x28]
movzx eax, byte [ebp + eax - 0xf0]
mov ecx, dword [ebp - 0x28]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x28], eax
jmp 0x10047ff6
mov eax, dword [ebp - 0x28]
movzx eax, byte [ebp + eax - 0xef]
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x6c]
movzx ecx, byte [ebp + ecx - 0xf2]
movsx ecx, byte [ebp + ecx - 0x1d4]
add eax, ecx
mov ecx, dword [ebp - 0x28]
movzx ecx, byte [ebp + ecx - 0xef]
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x6c]
movzx edx, byte [ebp + edx - 0xf2]
movsx edx, byte [ebp + edx - 0x1d4]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x28]
movzx ecx, byte [ebp + ecx - 0xef]
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x6c]
movzx edx, byte [ebp + edx - 0xf2]
movsx edx, byte [ebp + edx - 0x1d4]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x28]
movzx ecx, byte [ebp + ecx - 0xf0]
mov byte [ebp + ecx - 0x1d4], al
and dword [ebp - 0x6c], 0
jmp 0x10047ff6
xor eax, eax
inc eax
imul eax, eax, 0xa
mov byte [ebp + eax - 0x1d4], 0
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x358]
call fcn.100376a1
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x250], eax
and dword [ebp - 4], 0
push 0xa
xor edx, edx
mov ecx, dword [ebp - 0x250]
call fcn.1003db85
pop ecx
mov dword [ebp - 0x204], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x358]
call fcn.100376d0
and dword [ebp - 0x104], 0
jmp 0x1004813e
mov eax, dword [ebp - 0x104]
inc eax
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0xb
jae 0x10048157
mov eax, dword [ebp - 0x104]
mov byte [ebp + eax - 0x1d4], 0
jmp 0x10048131
mov byte [ebp - 0xac], 4
mov byte [ebp - 0xab], 0x63
mov byte [ebp - 0xaa], 3
mov byte [ebp - 0xa9], 6
mov byte [ebp - 0xa8], 2
mov byte [ebp - 0xa7], 5
mov byte [ebp - 0xa6], 8
mov byte [ebp - 0xa5], 7
mov byte [ebp - 0xa4], 5
mov byte [ebp - 0xa3], 1
mov byte [ebp - 0xa2], 0x16
mov byte [ebp - 0xa1], 0x62
mov byte [ebp - 0xa0], 0xc6
mov byte [ebp - 0x9f], 0x79
mov byte [ebp - 0x9e], 0x28
mov byte [ebp - 0x9d], 0xcb
mov byte [ebp - 0x9c], 0x9d
mov byte [ebp - 0x9b], 0xd0
mov byte [ebp - 0x9a], 0xcc
mov byte [ebp - 0x99], 0x26
mov byte [ebp - 0x98], 0xda
mov byte [ebp - 0x97], 0xba
mov byte [ebp - 0x96], 0xd
mov byte [ebp - 0x95], 0x45
mov byte [ebp - 0x94], 0xc2
mov byte [ebp - 0x93], 0xed
mov byte [ebp - 0x92], 0x72
mov byte [ebp - 0x91], 0x45
mov byte [ebp - 0x90], 0x26
mov byte [ebp - 0x8f], 0x55
mov byte [ebp - 0x8e], 0x7c
mov byte [ebp - 0x8d], 0x30
mov byte [ebp - 0x8c], 0x78
mov byte [ebp - 0x8b], 0
mov byte [ebp - 0x8a], 0
mov byte [ebp - 0x89], 1
mov byte [ebp - 0x88], 7
mov byte [ebp - 0x87], 7
mov byte [ebp - 0x86], 0
mov byte [ebp - 0x85], 9
mov byte [ebp - 0x84], 6
mov byte [ebp - 0x83], 6
mov byte [ebp - 0x82], 9
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0xac]
or eax, 0x57
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0xac]
and ecx, 0x57
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0xac]
mov byte [ebp + ecx - 0x1e0], al
mov dword [ebp - 0x38], 2
and dword [ebp - 0x100], 0
jmp 0x100482d5
mov eax, dword [ebp - 0x38]
inc eax
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x2b
jae 0x1004838b
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0xac]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x38], eax
jne 0x1004831f
mov eax, dword [ebp - 0x38]
movzx eax, byte [ebp + eax - 0xac]
inc eax
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x38]
movzx eax, byte [ebp + eax - 0xac]
mov ecx, dword [ebp - 0x38]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x38], eax
jmp 0x100482cd
mov eax, dword [ebp - 0x38]
movzx eax, byte [ebp + eax - 0xab]
mov ecx, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x100]
movzx ecx, byte [ebp + ecx - 0xae]
movsx ecx, byte [ebp + ecx - 0x1e0]
or eax, ecx
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0xab]
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x100]
movzx edx, byte [ebp + edx - 0xae]
movsx edx, byte [ebp + edx - 0x1e0]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0xac]
mov byte [ebp + ecx - 0x1e0], al
and dword [ebp - 0x100], 0
jmp 0x100482cd
xor eax, eax
inc eax
imul eax, eax, 0xa
mov byte [ebp + eax - 0x1e0], 0
lea eax, [ebp - 0x1e0]
push eax
lea ecx, [ebp - 0x388]
call fcn.100376a1
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x298], eax
mov dword [ebp - 4], 1
push 0xa
xor edx, edx
mov ecx, dword [ebp - 0x298]
call fcn.1003db85
pop ecx
mov dword [ebp - 0x25c], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x388]
call fcn.100376d0
and dword [ebp - 0xfc], 0
jmp 0x100483ff
mov eax, dword [ebp - 0xfc]
inc eax
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0xb
jae 0x10048418
mov eax, dword [ebp - 0xfc]
mov byte [ebp + eax - 0x1e0], 0
jmp 0x100483f2
push dword [ebp - 0x25c]
push dword [ebp - 0x204]
call fcn.100452b8
pop ecx
pop ecx
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x1ac]
mov dword [eax + 8], ecx
push 0x2daa
lea eax, [ebp - 0x20]
push eax
push 0
push 0x60ff
lea eax, [ebp - 0x1ac]
push eax
push 0x4277
call fcn.10047671
add esp, 0x18
and dword [ebp - 0x7c], 0
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x18], 0
jbe 0x10048480
mov eax, dword [ebp - 0x20]
push dword [eax + 0x18]
push 0
call fcn.100452b8
pop ecx
pop ecx
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x14]
sub eax, dword [ebp - 0x7c]
mov dword [ebp - 0x60], eax
and dword [ebp - 0xf8], 0
jmp 0x100484ab
mov eax, dword [ebp - 0xf8]
inc eax
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
cmp eax, dword [ebp - 0x60]
jge 0x10048577
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x58]
push eax
push 0x693
push 0x6521
lea eax, [ebp - 0x20]
push eax
push 0x48ae
push 0x565f
lea eax, [ebp - 0x30]
push eax
push 0x4101
push 0
push 0x1d60
push 0x297
lea eax, [ebp - 0x28c]
push eax
push 0x423e
push 1
push 0xa66
push 1
push 0x1214
call fcn.100476f0
add esp, 0x4c
lea eax, [ebp - 0x1c]
push eax
push 0x1899
push 0x4210
push 1
push 0x7347
lea eax, [ebp - 0x30]
push eax
push 0x7ebe
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x28c]
push eax
push 0x2a35
push 0x37c1
call fcn.10047487
add esp, 0x2c
push 0
push 0x598b
push 0
push 0x6fbd
push 0x43a2
lea eax, [ebp - 0x1c]
push eax
call fcn.100479f5
add esp, 0x18
jmp 0x1004849e
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x14]
sub eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x14], eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x20]
push eax
push 1
push 0x2f3b
push 0x49dc
push 0x4624
push 0
push 0x6e54
push 0x2408
lea eax, [ebp - 0x7c]
push eax
call fcn.1004755a
add esp, 0x28
and dword [ebp - 0x174], 0
jmp 0x100485cd
mov eax, dword [ebp - 0x174]
inc eax
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x174]
cmp eax, dword [ebp - 0x60]
jge 0x100487dc
push 0xdec
push 0x5586
push 1
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x34]
push eax
push 0x4cfc
push 1
push 0x3abf
lea eax, [ebp - 0x1c]
push eax
push 0x1bca
call fcn.1004755a
add esp, 0x28
mov dword [ebp - 0x20c], 0x18f5
cmp dword [ebp - 0x20c], 0x511
jge 0x100487b8
lea eax, [ebp - 0x178]
push eax
mov ecx, 0x1065eb30
call fcn.1002ad65
lea ecx, [ebp - 0x1f8]
call fcn.1002ac78
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x178]
dec eax
mov dword [ebp - 0x178], eax
cmp dword [ebp - 0x26c], 0
je 0x100487a9
lea edx, [ebp - 0x1f8]
mov ecx, 0x1065eb30
call fcn.10030058
mov edx, 0x10007ad0
lea ecx, [ebp - 0x1f8]
call fcn.1003041d
movzx eax, al
test eax, eax
jne 0x100486c5
mov edx, 0x10007b90
lea ecx, [ebp - 0x1f8]
call fcn.1003041d
movzx eax, al
test eax, eax
jne 0x100486c5
mov edx, 0x10007b94
lea ecx, [ebp - 0x1f8]
call fcn.1003041d
movzx eax, al
test eax, eax
je 0x100486e2
push fcn.1002fce0
mov dl, 0x2b
mov ecx, 0x1065ea78
call fcn.10030267
mov ecx, eax
call fcn.1002b293
jmp 0x100487a4
lea ecx, [ebp - 0x1f8]
call fcn.1002ad18
dec eax
dec eax
push eax
lea ecx, [ebp - 0x1f8]
call fcn.1002ad04
movsx eax, byte [eax]
cmp eax, 0x33
jne 0x1004873d
lea ecx, [ebp - 0x1f8]
call fcn.1002ad18
dec eax
push eax
lea ecx, [ebp - 0x1f8]
call fcn.1002ad04
movsx eax, byte [eax]
cmp eax, 0x35
jne 0x1004873d
push fcn.1002fce0
mov dl, 0x2d
mov ecx, 0x1065ea78
call fcn.10030267
mov ecx, eax
call fcn.1002b293
jmp 0x100487a4
push 0
lea ecx, [ebp - 0x1f8]
call fcn.1002ad04
movsx eax, byte [eax]
cmp eax, 0x39
jne 0x1004878c
lea ecx, [ebp - 0x1f8]
call fcn.1002ad18
dec eax
push eax
lea ecx, [ebp - 0x1f8]
call fcn.1002ad04
movsx eax, byte [eax]
cmp eax, 0x34
jne 0x1004878c
push fcn.1002fce0
mov dl, 0x2a
mov ecx, 0x1065ea78
call fcn.10030267
mov ecx, eax
call fcn.1002b293
jmp 0x100487a4
push fcn.1002fce0
mov dl, 0x3f
mov ecx, 0x1065ea78
call fcn.10030267
mov ecx, eax
call fcn.1002b293
jmp 0x1004864a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f8]
call fcn.1002acdb
push 0
push 0x287a
push 1
push 0x3f78
lea eax, [ebp - 0x1c]
push eax
push 0x273b
call fcn.100479f5
add esp, 0x18
jmp 0x100485c0
lea eax, [ebp - 0x60]
push eax
push 0x701f
push 1
lea eax, [ebp - 0x20]
push eax
push 0x759d
lea eax, [ebp - 0x1c]
push eax
call fcn.10047671
add esp, 0x18
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x18]
sub eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x18], eax
and dword [ebp - 0xbc], 0
jmp 0x10048821
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
cmp eax, dword [ebp - 0x60]
jge 0x10048892
push 0x566a
push 0x34a7
push 0x5b42
push 0x2820
lea eax, [ebp - 0x30]
push eax
push 0x3536
lea eax, [ebp - 0x20]
push eax
push 0xbcc
push 0x11ba
push 0x7a2d
push 1
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x34]
push eax
push 0xa53
push 0x13d2
push 0
push 0x6bb2
push 1
lea eax, [ebp - 0xbc]
push eax
call fcn.100476f0
add esp, 0x4c
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x10048814
mov eax, dword [ebp - 0x60]
shl eax, 1
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
add ecx, dword [eax + 0xc]
add ecx, dword [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x2c8]
call fcn.100376a1
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2c8]
call fcn.1002ad18
mov dword [ebp - 0x1c8], eax
push dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1c8]
shr eax, 1
push eax
call fcn.100452b8
pop ecx
pop ecx
mov dword [ebp - 0x70], eax
mov byte [ebp - 0x170], 0
mov byte [ebp - 0x16f], 0xb3
mov byte [ebp - 0x16e], 0x61
mov byte [ebp - 0x16d], 0xde
mov byte [ebp - 0x16c], 0xe5
mov byte [ebp - 0x16b], 0x57
mov byte [ebp - 0x16a], 0xf3
mov byte [ebp - 0x169], 0xfa
mov byte [ebp - 0x168], 7
mov byte [ebp - 0x167], 0xb
mov byte [ebp - 0x166], 0x28
mov byte [ebp - 0x165], 0xbc
mov byte [ebp - 0x164], 0xbe
mov byte [ebp - 0x163], 0x19
mov byte [ebp - 0x162], 0xd1
mov byte [ebp - 0x161], 0xdd
mov byte [ebp - 0x160], 0x20
mov byte [ebp - 0x15f], 0xcc
mov byte [ebp - 0x15e], 0xca
mov byte [ebp - 0x15d], 0x6c
mov byte [ebp - 0x15c], 0xf3
mov byte [ebp - 0x15b], 0x2c
mov byte [ebp - 0x15a], 0x93
mov byte [ebp - 0x159], 0x62
mov byte [ebp - 0x158], 2
mov byte [ebp - 0x157], 0x79
mov byte [ebp - 0x156], 0x69
mov byte [ebp - 0x155], 0xca
mov byte [ebp - 0x154], 0xbb
mov byte [ebp - 0x153], 0xf2
mov byte [ebp - 0x152], 0xb
mov byte [ebp - 0x151], 0xa6
mov byte [ebp - 0x150], 0xd
mov byte [ebp - 0x14f], 0x3c
mov byte [ebp - 0x14e], 0x9d
mov byte [ebp - 0x14d], 0x2d
mov byte [ebp - 0x14c], 0xbc
mov byte [ebp - 0x14b], 0x8c
mov byte [ebp - 0x14a], 0x22
mov byte [ebp - 0x149], 0x16
mov byte [ebp - 0x148], 0x8f
mov byte [ebp - 0x147], 0xa
mov byte [ebp - 0x146], 0xfb
mov byte [ebp - 0x145], 0xfe
mov byte [ebp - 0x144], 0xab
mov byte [ebp - 0x143], 0xfa
mov byte [ebp - 0x142], 0x6b
mov byte [ebp - 0x141], 0xae
mov byte [ebp - 0x140], 0x69
mov byte [ebp - 0x13f], 0x27
mov byte [ebp - 0x13e], 0xf6
mov byte [ebp - 0x13d], 0x30
mov byte [ebp - 0x13c], 0xfc
mov byte [ebp - 0x13b], 0x96
mov byte [ebp - 0x13a], 0xc4
mov byte [ebp - 0x139], 0x9a
mov byte [ebp - 0x138], 0x47
mov byte [ebp - 0x137], 9
mov byte [ebp - 0x136], 0xbd
mov byte [ebp - 0x135], 0x77
mov byte [ebp - 0x134], 0x9e
mov byte [ebp - 0x133], 0xd2
mov byte [ebp - 0x132], 0x8b
mov byte [ebp - 0x131], 0x19
mov byte [ebp - 0x130], 0xe6
mov byte [ebp - 0x12f], 0x7e
mov byte [ebp - 0x12e], 0x43
mov byte [ebp - 0x12d], 0xe1
mov byte [ebp - 0x12c], 0x4c
mov byte [ebp - 0x12b], 0xd4
mov byte [ebp - 0x12a], 0xde
mov byte [ebp - 0x129], 0x38
mov byte [ebp - 0x128], 0xef
mov byte [ebp - 0x127], 0xb1
mov byte [ebp - 0x126], 0xbf
mov byte [ebp - 0x125], 0x37
mov byte [ebp - 0x124], 0xe8
mov byte [ebp - 0x123], 0xd2
mov byte [ebp - 0x122], 0x6d
mov byte [ebp - 0x121], 0xd9
mov byte [ebp - 0x120], 0x56
mov byte [ebp - 0x11f], 0x6e
mov byte [ebp - 0x11e], 0xca
mov byte [ebp - 0x11d], 0x24
mov byte [ebp - 0x11c], 0x70
mov byte [ebp - 0x11b], 0xcd
mov byte [ebp - 0x11a], 0x61
mov byte [ebp - 0x119], 0x8e
mov byte [ebp - 0x118], 0x54
mov byte [ebp - 0x117], 0x41
mov byte [ebp - 0x116], 0x11
mov byte [ebp - 0x115], 0x3e
mov byte [ebp - 0x114], 0x74
mov byte [ebp - 0x113], 0x13
mov byte [ebp - 0x112], 0xc7
mov byte [ebp - 0x111], 0x3f
mov byte [ebp - 0x110], 0xed
mov byte [ebp - 0x10f], 0x65
mov byte [ebp - 0x10e], 0x7e
mov byte [ebp - 0x10d], 0x56
mov byte [ebp - 0x10c], 3
mov byte [ebp - 0x10b], 0x42
mov byte [ebp - 0x10a], 2
mov byte [ebp - 0x109], 0
mov byte [ebp - 0x108], 1
mov byte [ebp - 0x107], 8
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x170]
or eax, 0x9d
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x170]
and ecx, 0x9d
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0x170]
mov byte [ebp + ecx - 0x68], al
mov dword [ebp - 0x2c], 2
and dword [ebp - 0x78], 0
jmp 0x10048c21
mov eax, dword [ebp - 0x2c]
inc eax
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x6a
jae 0x1004920c
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x170]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x2c], eax
jne 0x10049190
mov eax, dword [ebp - 0x2c]
movzx eax, byte [ebp + eax - 0x170]
inc eax
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [ebp + eax - 0x170]
mov ecx, dword [ebp - 0x2c]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x214], 0x17ed
cmp dword [ebp - 0x214], 0xf19
jge 0x1004918b
lea eax, [ebp - 0x17c]
push eax
push 0x10007740
call fcn.10055feb
pop ecx
pop ecx
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x17c]
dec eax
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x284], 0
je 0x1004918b
lea eax, [ebp - 0x40]
push eax
push 0x10007740
call fcn.10055feb
pop ecx
pop ecx
and dword [ebp - 0x80], 0
jmp 0x10048cda
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x40]
jge 0x10048cf6
imul eax, dword [ebp - 0x80], 0x7c
lea eax, [ebp + eax - 0x128c]
mov ecx, dword [ebp - 0x80]
and dword [eax + ecx*4], 0
jmp 0x10048cd3
and dword [ebp - 0x44], 0
jmp 0x10048d03
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x40]
jge 0x10048d67
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x5c], eax
jmp 0x10048d1b
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x40]
jge 0x10048d65
imul eax, dword [ebp - 0x44], 0x7c
lea eax, [ebp + eax - 0x128c]
mov ecx, dword [ebp - 0x5c]
lea eax, [eax + ecx*4]
push eax
push 0x10007740
call fcn.10055feb
pop ecx
pop ecx
imul eax, dword [ebp - 0x44], 0x7c
lea eax, [ebp + eax - 0x128c]
imul ecx, dword [ebp - 0x5c], 0x7c
lea ecx, [ebp + ecx - 0x128c]
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x5c]
mov eax, dword [eax + esi*4]
mov dword [ecx + edx*4], eax
jmp 0x10048d14
jmp 0x10048cfc
or dword [ebp - 0xb0], 0xffffffff
push 0x1a5e0
push 0xffffffffffffffff
lea eax, [ebp - 0x1b86c]
push eax
call fcn.1003755a
add esp, 0xc
mov eax, 0xe10
imul eax, eax, 0
lea eax, [ebp + eax - 0x1b86c]
push 0x78
pop ecx
imul ecx, ecx, 0
add eax, ecx
push 4
pop ecx
imul ecx, ecx, 0
and dword [eax + ecx], 0
and dword [ebp - 0x10], 0
jmp 0x10048db2
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x40]
jge 0x10049174
and dword [ebp - 0x14], 0
jmp 0x10048dcb
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x40]
jge 0x1004916f
and dword [ebp - 0x18], 0
jmp 0x10048de4
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x40]
jge 0x1004916a
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x14]
jl 0x10048ef5
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jl 0x10048ef5
and dword [ebp - 0x54], 0
jmp 0x10048e15
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x10]
jge 0x10048ef0
imul eax, dword [ebp - 0x54], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x18]
cmp dword [eax + ecx*4], 0xffffffff
jne 0x10048e40
jmp 0x10048e0e
imul eax, dword [ebp - 0x54], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
imul ecx, dword [ebp - 0x54], 0x7c
lea ecx, [ebp + ecx - 0x128c]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x10]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x10], eax
je 0x10048e8c
mov eax, dword [ebp - 0x18]
inc eax
cmp dword [ebp - 0x10], eax
je 0x10048e8c
mov eax, dword [ebp - 0x54]
inc eax
cmp dword [ebp - 0x10], eax
jne 0x10048eeb
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x18]
cmp dword [eax + ecx*4], 0xffffffff
je 0x10048ecb
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c4]
cmp edx, dword [eax + ecx*4]
jge 0x10048eeb
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c4]
mov dword [eax + ecx*4], edx
jmp 0x10048e0e
jmp 0x100490e2
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x10]
jl 0x10048ffa
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jl 0x10048ffa
and dword [ebp - 0x4c], 0
jmp 0x10048f1a
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x14]
jge 0x10048ff5
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x4c], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x18]
cmp dword [eax + ecx*4], 0xffffffff
jne 0x10048f45
jmp 0x10048f13
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x4c], 0x78
add eax, ecx
imul ecx, dword [ebp - 0x4c], 0x7c
lea ecx, [ebp + ecx - 0x128c]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x14]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x14], eax
je 0x10048f91
mov eax, dword [ebp - 0x18]
inc eax
cmp dword [ebp - 0x14], eax
je 0x10048f91
mov eax, dword [ebp - 0x4c]
inc eax
cmp dword [ebp - 0x14], eax
jne 0x10048ff0
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x18]
cmp dword [eax + ecx*4], 0xffffffff
je 0x10048fd0
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x190]
cmp edx, dword [eax + ecx*4]
jge 0x10048ff0
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x190]
mov dword [eax + ecx*4], edx
jmp 0x10048f13
jmp 0x100490e2
and dword [ebp - 0x48], 0
jmp 0x10049007
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x18]
jge 0x100490e2
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x48]
cmp dword [eax + ecx*4], 0xffffffff
jne 0x10049032
jmp 0x10049000
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
imul ecx, dword [ebp - 0x48], 0x7c
lea ecx, [ebp + ecx - 0x128c]
mov edx, dword [ebp - 0x48]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x18]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x18], eax
je 0x1004907e
mov eax, dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x18], eax
je 0x1004907e
mov eax, dword [ebp - 0x48]
inc eax
cmp dword [ebp - 0x18], eax
jne 0x100490dd
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x18]
cmp dword [eax + ecx*4], 0xffffffff
je 0x100490bd
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x188]
cmp edx, dword [eax + ecx*4]
jge 0x100490dd
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x188]
mov dword [eax + ecx*4], edx
jmp 0x10049000
mov eax, dword [ebp - 0x40]
dec eax
cmp dword [ebp - 0x10], eax
je 0x100490fd
mov eax, dword [ebp - 0x40]
dec eax
cmp dword [ebp - 0x14], eax
je 0x100490fd
mov eax, dword [ebp - 0x40]
dec eax
cmp dword [ebp - 0x18], eax
jne 0x10049165
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x18]
cmp dword [eax + ecx*4], 0xffffffff
je 0x10049165
cmp dword [ebp - 0xb0], 0xffffffff
je 0x10049145
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax + ecx*4]
cmp eax, dword [ebp - 0xb0]
jge 0x10049165
imul eax, dword [ebp - 0x10], 0xe10
lea eax, [ebp + eax - 0x1b86c]
imul ecx, dword [ebp - 0x14], 0x78
add eax, ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xb0], eax
jmp 0x10048ddd
jmp 0x10048dc4
jmp 0x10048dab
push dword [ebp - 0xb0]
push 0x10007768
call fcn.10056438
pop ecx
pop ecx
jmp 0x10048c97
jmp 0x10048c19
mov eax, dword [ebp - 0x2c]
movzx eax, byte [ebp + eax - 0x16f]
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x78]
movzx ecx, byte [ebp + ecx - 0x172]
movsx ecx, byte [ebp + ecx - 0x68]
add eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0x16f]
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x78]
movzx edx, byte [ebp + edx - 0x172]
movsx edx, byte [ebp + edx - 0x68]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0x16f]
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x78]
movzx edx, byte [ebp + edx - 0x172]
movsx edx, byte [ebp + edx - 0x68]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0x170]
mov byte [ebp + ecx - 0x68], al
and dword [ebp - 0x78], 0
jmp 0x10048c19
xor eax, eax
inc eax
shl eax, 2
mov byte [ebp + eax - 0x68], 0
mov dword [ebp - 0x21c], 0x139d
cmp dword [ebp - 0x21c], 0x8b7
jge 0x100492a9
lea eax, [ebp - 0x1c0]
push eax
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x224]
push eax
push 0x100077b0
call fcn.10055feb
add esp, 0x14
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x274]
lea eax, [ecx + eax - 1]
cdq
idiv dword [ebp - 0x198]
imul eax, dword [ebp - 0x224]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x294]
lea eax, [ecx + eax - 1]
cdq
idiv dword [ebp - 0x1c0]
mov dword [ebp - 0x22c], eax
push dword [ebp - 0x22c]
push 0x10007778
call fcn.10056438
pop ecx
pop ecx
cmp dword [ebp - 0x70], 4
jle 0x10049360
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x340]
call fcn.100376a1
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x260], eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x24]
or eax, 1
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x70]
sub eax, 4
push eax
lea eax, [ebp - 0x370]
push eax
call fcn.1004588c
pop ecx
pop ecx
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x23c], eax
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x24]
or eax, 2
mov dword [ebp - 0x24], eax
push dword [ebp - 0x260]
mov edx, dword [ebp - 0x23c]
lea ecx, [ebp - 0x328]
call fcn.1004c12b
pop ecx
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x244], eax
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x24]
or eax, 4
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x1a0], eax
jmp 0x1004938c
push dword [ebp - 0x70]
lea eax, [ebp - 0x310]
push eax
call fcn.1004588c
pop ecx
pop ecx
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x24]
or eax, 8
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x24c], eax
push dword [ebp - 0x24c]
lea ecx, [ebp - 0x2e0]
call fcn.1003ce39
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x24]
and eax, 8
je 0x100493c7
and dword [ebp - 0x24], 0xfffffff7
lea ecx, [ebp - 0x310]
call fcn.100376d0
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x24]
and eax, 4
je 0x100493e2
and dword [ebp - 0x24], 0xfffffffb
lea ecx, [ebp - 0x328]
call fcn.100376d0
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x24]
and eax, 2
je 0x100493fd
and dword [ebp - 0x24], 0xfffffffd
lea ecx, [ebp - 0x370]
call fcn.100376d0
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x24]
and eax, 1
je 0x10049418
and dword [ebp - 0x24], 0xfffffffe
lea ecx, [ebp - 0x340]
call fcn.100376d0
and dword [ebp - 0xf4], 0
jmp 0x1004942e
mov eax, dword [ebp - 0xf4]
inc eax
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 5
jae 0x10049444
mov eax, dword [ebp - 0xf4]
mov byte [ebp + eax - 0x68], 0
jmp 0x10049421
push 0x6d9c
push 0x4d19
lea eax, [ebp - 0x1c]
push eax
push 0x4c4d
push 0x7b18
push 0
lea eax, [ebp - 0x20]
push eax
push 0x62ad
push 1
call fcn.10047aac
add esp, 0x24
push 0
push dword [ebp - 0x70]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
add ecx, dword [eax + 0xc]
add ecx, dword [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x2e0]
call fcn.1004bcda
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x70]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
mov byte [ecx + eax], 0
lea eax, [ebp - 0x1c]
push eax
push 0x6727
push 0x76bf
push 0
push 1
call fcn.1004797d
add esp, 0x14
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x18], 0
jbe 0x1004951c
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 4]
sub eax, ecx
mov ecx, dword [ebp - 0x20]
xor edx, edx
div dword [ecx + 0x18]
cmp eax, 0xc
jbe 0x100494f0
mov dword [ebp - 0x1bc], 0xc
jmp 0x1004950e
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 4]
sub eax, ecx
mov ecx, dword [ebp - 0x20]
xor edx, edx
div dword [ecx + 0x18]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x1a8], eax
jmp 0x10049523
and dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1b4], eax
and dword [ebp - 0xb8], 0
jmp 0x10049545
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [eax + 0x18]
jae 0x10049701
push dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b4]
cdq
sub eax, edx
sar eax, 1
push eax
call fcn.100452b8
pop ecx
pop ecx
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x278], 0x1f63
cmp dword [ebp - 0x278], 0x728
jge 0x1004961f
lea eax, [ebp - 0x1b0]
push eax
push 0x10007740
call fcn.10055feb
pop ecx
pop ecx
cmp eax, 1
jne 0x1004961f
and dword [ebp - 0xb4], 0
jmp 0x100495be
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x1b0]
jge 0x100495e8
mov eax, dword [ebp - 0xb4]
lea eax, [eax*4 + 0x107e98ac]
push eax
push 0x10007740
call fcn.10055feb
pop ecx
pop ecx
jmp 0x100495b1
push 0x1e4
push 0xffffffffffffffff
push 0x107e98e8
call fcn.1003755a
add esp, 0xc
mov eax, dword [ebp - 0x1b0]
dec eax
push eax
push 0
call fcn.10047b96
pop ecx
pop ecx
push eax
push 0x10007768
call fcn.10056438
pop ecx
pop ecx
jmp 0x10049590
push dword [ebp - 0x184]
lea eax, [ebp - 0x2b0]
push eax
call fcn.1004588c
pop ecx
pop ecx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
add ecx, dword [eax + 0x20]
add ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x1c]
mov dword [ecx + eax*4], edx
push 0
push dword [ebp - 0x184]
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x30]
push eax
lea ecx, [ebp - 0x2b0]
call fcn.1004bcda
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x184]
mov dword [ebp - 0x1c], eax
push 0xd73
push 0x75ea
push 0x46a
push 0x4032
push 0x5c86
push 0x73e0
push 0x5ff3
lea eax, [ebp - 0x30]
push eax
push 0x6e35
push 0x23e6
push 1
push 0x1510
push 0x4e78
push 0x711d
lea eax, [ebp - 0x34]
push eax
push 1
lea eax, [ebp - 0x1c]
push eax
push 1
push 0x779
call fcn.100476f0
add esp, 0x4c
push 0x1f0
lea eax, [ebp - 0x1c]
push eax
push 0x634a
push 1
push 1
call fcn.1004797d
add esp, 0x14
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2b0]
call fcn.100376d0
jmp 0x10049538
and dword [ebp - 0x74], 0
jmp 0x1004970e
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 4]
sub eax, ecx
cmp dword [ebp - 0x74], eax
jae 0x10049735
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x30]
mov byte [ecx + eax], 0
jmp 0x10049707
push 0x2ab9
lea eax, [ebp - 0x74]
push eax
push 0x30ae
lea eax, [ebp - 0x3c]
push eax
push 0x1879
push 1
push 0x4769
push 0x5abc
push 1
call fcn.10047aac
add esp, 0x24
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2e0]
call fcn.100376d0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c8]
call fcn.100376d0
jmp 0x10049876
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x19c]
call fcn.1002ad18
mov ecx, dword [ebp - 0x218]
cmp eax, dword [ecx]
je 0x10049876
call fcn.10056e87
mov esi, eax
mov ecx, dword [ebp - 0x194]
call fcn.1002ad18
mov ecx, eax
mov eax, esi
xor edx, edx
div ecx
mov eax, dword [ebp - 0x18c]
mov dword [eax], edx
push 1
mov eax, dword [ebp - 0x18c]
push dword [eax]
lea eax, [ebp - 0x2f8]
push eax
mov ecx, dword [ebp - 0x194]
call fcn.1004bd1f
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x228], eax
mov dword [ebp - 4], 0xc
push dword [ebp - 0x228]
mov ecx, dword [ebp - 0x19c]
call fcn.100376da
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2f8]
call fcn.100376d0
jmp 0x100497e5
jmp 0x10049896
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x230], eax
push 0
push dword [ebp - 0x230]
push 0x59fd
call fcn.1004764f
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret