Function at 0x45a5cd
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b81bb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x470
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
and dword [ebp - 0x1c], 0
movzx eax, byte [ebp + 0x18]
test eax, eax
je 0x45c0a2
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x298], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x1bc], 0x6c8f
mov dword [ebp - 0x2bc], 0xa88f58
cmp dword [ebp - 0x1bc], 0x6ca5
jle 0x45a713
and dword [ebp - 0x16c], 0
jmp 0x45a660
mov eax, dword [ebp - 0x16c]
inc eax
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x16c], 0x6a67
jge 0x45a713
and dword [ebp - 0x140], 0
jmp 0x45a686
mov eax, dword [ebp - 0x140]
inc eax
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0x5e75
jge 0x45a70e
and dword [ebp - 0x164], 0
jmp 0x45a6a8
mov eax, dword [ebp - 0x164]
inc eax
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 0x37cf
jge 0x45a709
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x164]
sar eax, cl
or eax, dword [ebp - 0x16c]
cdq
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2c0], edx
push dword [ebp - 0x2c0]
push dword [ebp - 0x2c4]
lea ecx, [ebp - 0x468]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.0040ac78
push eax
call fcn.004a1e87
pop ecx
lea ecx, [ebp - 0x468]
call fcn.0040ac6e
jmp 0x45a69b
jmp 0x45a679
jmp 0x45a653
mov eax, dword [ebp - 0x2b4]
movzx eax, byte [eax]
test eax, eax
je 0x45beed
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x1f8]
movzx eax, word [eax]
cmp eax, 0x5a4d
je 0x45a74b
jmp 0x45c799
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x28]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
cmp dword [eax], 0x4550
je 0x45a76a
jmp 0x45c799
push 8
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x40]
lea eax, [ecx + eax + 0x78]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
cmp dword [eax + 4], 0
jne 0x45a788
jmp 0x45c799
and dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x40]
movzx eax, word [eax + 0x14]
mov ecx, dword [ebp - 0x40]
lea eax, [ecx + eax + 0x18]
mov dword [ebp - 0x58], eax
and dword [ebp - 0x178], 0
jmp 0x45a7bc
mov eax, dword [ebp - 0x178]
inc eax
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x58]
add eax, 0x28
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x40]
movzx eax, word [eax + 6]
cmp dword [ebp - 0x178], eax
jge 0x45a95d
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x1e8]
jb 0x45a958
mov eax, dword [ebp - 0x40]
push dword [eax + 0x38]
mov eax, dword [ebp - 0x58]
push dword [eax + 8]
call fcn.00457c24
pop ecx
pop ecx
add eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x260]
jae 0x45a958
lea eax, [ebp - 0x58]
push eax
push 0x4074
push 0x105
push 0x4652
push 0x971
push 1
push 0x6185
push 0
push 1
lea eax, [ebp - 0x2c]
push eax
push 0x51f4
push 0x1cf3
push 0x469a
call fcn.004584ea
add esp, 0x34
mov dword [ebp - 0x204], 0x6949
mov dword [ebp - 0x268], 0xa88fc0
cmp dword [ebp - 0x204], 0x6ad9
jle 0x45a914
and dword [ebp - 0x174], 0
jmp 0x45a894
mov eax, dword [ebp - 0x174]
inc eax
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x174], 0x5eb6
jge 0x45a914
and dword [ebp - 0x150], 0
jmp 0x45a8b6
mov eax, dword [ebp - 0x150]
inc eax
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0x4b33
jge 0x45a90f
mov eax, dword [ebp - 0x174]
and eax, dword [ebp - 0x150]
cdq
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a0], edx
push dword [ebp - 0x2a0]
push dword [ebp - 0x2a4]
lea ecx, [ebp - 0x450]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.0040ac78
push eax
call fcn.004a1e87
pop ecx
lea ecx, [ebp - 0x450]
call fcn.0040ac6e
jmp 0x45a8a9
jmp 0x45a887
jmp 0x45a95d
jmp 0x45a7a6
cmp dword [ebp - 0x2c], 0
jne 0x45a968
jmp 0x45c799
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x2c]
add ecx, dword [eax]
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x14], ecx
xor ecx, ecx
call fcn.004475bb
push eax
call fcn.004a23d3
pop ecx
mov byte [ebp - 0xd0], 6
mov byte [ebp - 0xcf], 0x15
mov byte [ebp - 0xce], 5
mov byte [ebp - 0xcd], 0
mov byte [ebp - 0xcc], 9
mov byte [ebp - 0xcb], 1
mov byte [ebp - 0xca], 2
mov byte [ebp - 0xc9], 7
mov byte [ebp - 0xc8], 7
mov byte [ebp - 0xc7], 1
mov byte [ebp - 0xc6], 8
mov byte [ebp - 0xc5], 6
mov byte [ebp - 0xc4], 0
mov byte [ebp - 0xc3], 1
mov byte [ebp - 0xc2], 0x11
mov byte [ebp - 0xc1], 0xda
mov byte [ebp - 0xc0], 0xb5
mov byte [ebp - 0xbf], 0
mov byte [ebp - 0xbe], 0xdd
mov byte [ebp - 0xbd], 0xde
mov byte [ebp - 0xbc], 0xc8
mov byte [ebp - 0xbb], 0xca
mov byte [ebp - 0xba], 0x30
mov byte [ebp - 0xb9], 5
mov byte [ebp - 0xb8], 0x62
mov byte [ebp - 0xb7], 0xa3
mov byte [ebp - 0xb6], 0xc8
mov byte [ebp - 0xb5], 0x84
mov byte [ebp - 0xb4], 0x66
mov byte [ebp - 0xb3], 4
mov byte [ebp - 0xb2], 0x90
mov byte [ebp - 0xb1], 0x70
mov byte [ebp - 0xb0], 1
mov byte [ebp - 0xaf], 4
mov byte [ebp - 0xae], 3
mov byte [ebp - 0xad], 2
mov byte [ebp - 0xac], 4
mov byte [ebp - 0xab], 0xf
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0xd0]
or eax, 0x24
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0xd0]
and ecx, 0x24
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0xd0]
mov byte [ebp + ecx - 0x210], al
mov dword [ebp - 0x24], 2
and dword [ebp - 0x74], 0
jmp 0x45aadc
mov eax, dword [ebp - 0x24]
inc eax
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x26
jae 0x45adfb
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0xd0]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x24], eax
jne 0x45ac0a
mov eax, dword [ebp - 0x24]
movzx eax, byte [ebp + eax - 0xd0]
inc eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x24]
movzx eax, byte [ebp + eax - 0xd0]
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x200], 0x5503
mov dword [ebp - 0x270], 0xa89020
cmp dword [ebp - 0x200], 0x5583
jle 0x45abbc
and dword [ebp - 0x130], 0
jmp 0x45ab5b
mov eax, dword [ebp - 0x130]
inc eax
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0x35d1
jge 0x45abbc
and dword [ebp - 0xe0], 0
jmp 0x45ab7d
mov eax, dword [ebp - 0xe0]
inc eax
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0xf6c
jge 0x45abba
mov eax, dword [ebp - 0x130]
xor eax, dword [ebp - 0xe0]
cdq
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], edx
push dword [ebp - 0x2d4]
push dword [ebp - 0x2d8]
mov ecx, 0xaa4f58
call fcn.0040ac83
jmp 0x45ab70
jmp 0x45ab4e
jmp 0x45aad4
mov eax, dword [ebp - 0x24]
movzx eax, byte [ebp + eax - 0xcf]
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x74]
movzx ecx, byte [ebp + ecx - 0xd2]
movsx ecx, byte [ebp + ecx - 0x210]
add eax, ecx
mov ecx, dword [ebp - 0x24]
movzx ecx, byte [ebp + ecx - 0xcf]
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x74]
movzx edx, byte [ebp + edx - 0xd2]
movsx edx, byte [ebp + edx - 0x210]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x24]
movzx ecx, byte [ebp + ecx - 0xcf]
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x74]
movzx edx, byte [ebp + edx - 0xd2]
movsx edx, byte [ebp + edx - 0x210]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x24]
movzx ecx, byte [ebp + ecx - 0xd0]
mov byte [ebp + ecx - 0x210], al
mov dword [ebp - 0x1f4], 0x6755
mov dword [ebp - 0x2dc], 0xa89080
cmp dword [ebp - 0x1f4], 0x69ed
jle 0x45adad
and dword [ebp - 0x168], 0
jmp 0x45acc3
mov eax, dword [ebp - 0x168]
inc eax
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0x22f1
jge 0x45adad
and dword [ebp - 0xe8], 0
jmp 0x45ace9
mov eax, dword [ebp - 0xe8]
inc eax
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0x430a
jge 0x45ada8
and dword [ebp - 0x138], 0
jmp 0x45ad0f
mov eax, dword [ebp - 0x138]
inc eax
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0x4c31
jge 0x45ada3
and dword [ebp - 0xf0], 0
jmp 0x45ad35
mov eax, dword [ebp - 0xf0]
inc eax
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0x1014
jge 0x45ad9e
mov eax, dword [ebp - 0x168]
sub eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x138]
shl eax, cl
mov ecx, dword [ebp - 0xf0]
sar eax, cl
cdq
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], edx
push dword [ebp - 0x2ac]
push dword [ebp - 0x2b0]
lea ecx, [ebp - 0x480]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.0040ac78
push eax
call fcn.004a1e87
pop ecx
lea ecx, [ebp - 0x480]
call fcn.0040ac6e
jmp 0x45ad28
jmp 0x45ad02
jmp 0x45acdc
jmp 0x45acb6
and dword [ebp - 0x74], 0
mov dword [ebp - 4], 4
cmp dword [ebp - 0x1f4], 0x66c0
jge 0x45add0
push dword [ebp - 0x2dc]
call fcn.004a1e87
pop ecx
jmp 0x45adec
or dword [ebp - 4], 0xffffffff
jmp 0x45adf6
jmp 0x45aad4
xor eax, eax
inc eax
imul eax, eax, 0xa
mov byte [ebp + eax - 0x210], 0
push 0xa
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x408]
call fcn.0040ae2c
xor edx, edx
mov ecx, eax
call fcn.00447580
pop ecx
mov dword [ebp - 0x238], eax
lea ecx, [ebp - 0x408]
call fcn.0040ae5b
and dword [ebp - 0x160], 0
jmp 0x45ae4e
mov eax, dword [ebp - 0x160]
inc eax
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 0xb
jae 0x45ae67
mov eax, dword [ebp - 0x160]
mov byte [ebp + eax - 0x210], 0
jmp 0x45ae41
mov byte [ebp - 0xa8], 0
mov byte [ebp - 0xa7], 0x85
mov byte [ebp - 0xa6], 0x10
mov byte [ebp - 0xa5], 0xc7
mov byte [ebp - 0xa4], 0xb0
mov byte [ebp - 0xa3], 0x19
mov byte [ebp - 0xa2], 0x12
mov byte [ebp - 0xa1], 0x89
mov byte [ebp - 0xa0], 0xde
mov byte [ebp - 0x9f], 0x45
mov byte [ebp - 0x9e], 0x58
mov byte [ebp - 0x9d], 0x1c
mov byte [ebp - 0x9c], 0x18
mov byte [ebp - 0x9b], 0x65
mov byte [ebp - 0x9a], 0xc0
mov byte [ebp - 0x99], 0xb
mov byte [ebp - 0x98], 0x57
mov byte [ebp - 0x97], 0xed
mov byte [ebp - 0x96], 0x7d
mov byte [ebp - 0x95], 2
mov byte [ebp - 0x94], 6
mov byte [ebp - 0x93], 8
mov byte [ebp - 0x92], 7
mov byte [ebp - 0x91], 7
mov byte [ebp - 0x90], 6
mov byte [ebp - 0x8f], 9
mov byte [ebp - 0x8e], 6
mov byte [ebp - 0x8d], 6
mov byte [ebp - 0x8c], 9
mov byte [ebp - 0x8b], 1
mov byte [ebp - 0x8a], 0xf
mov byte [ebp - 0x89], 4
mov byte [ebp - 0x88], 2
mov byte [ebp - 0x87], 5
mov byte [ebp - 0x86], 5
mov byte [ebp - 0x85], 3
mov byte [ebp - 0x84], 3
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0xa8]
or eax, 0xb4
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0xa8]
and ecx, 0xb4
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0xa8]
mov byte [ebp + ecx - 0x21c], al
mov dword [ebp - 0x20], 2
and dword [ebp - 0x6c], 0
jmp 0x45afbd
mov eax, dword [ebp - 0x20]
inc eax
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x25
jae 0x45b237
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0xa8]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x20], eax
jne 0x45b174
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebp + eax - 0xa8]
inc eax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebp + eax - 0xa8]
mov ecx, dword [ebp - 0x20]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1e0], 0x68bf
mov dword [ebp - 0x2e4], 0xa890c8
cmp dword [ebp - 0x1e0], 0x6c03
jle 0x45b12a
and dword [ebp - 0x14c], 0
jmp 0x45b040
mov eax, dword [ebp - 0x14c]
inc eax
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0x10bc
jge 0x45b12a
and dword [ebp - 0xf8], 0
jmp 0x45b066
mov eax, dword [ebp - 0xf8]
inc eax
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0x612d
jge 0x45b125
and dword [ebp - 0xd4], 0
jmp 0x45b08c
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0x5d8d
jge 0x45b120
and dword [ebp - 0x100], 0
jmp 0x45b0b2
mov eax, dword [ebp - 0x100]
inc eax
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0x71c8
jge 0x45b11b
mov ecx, dword [ebp - 0xf8]
imul ecx, dword [ebp - 0xd4]
imul ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x14c]
sar eax, cl
cdq
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], edx
push dword [ebp - 0x278]
push dword [ebp - 0x27c]
lea ecx, [ebp - 0x3a8]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.0040ac78
push eax
call fcn.004a1e87
pop ecx
lea ecx, [ebp - 0x3a8]
call fcn.0040ac6e
jmp 0x45b0a5
jmp 0x45b07f
jmp 0x45b059
jmp 0x45b033
jmp 0x45afb5
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebp + eax - 0xa7]
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x6c]
movzx ecx, byte [ebp + ecx - 0xaa]
movsx ecx, byte [ebp + ecx - 0x21c]
add eax, ecx
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ebp + ecx - 0xa7]
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x6c]
movzx edx, byte [ebp + edx - 0xaa]
movsx edx, byte [ebp + edx - 0x21c]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ebp + ecx - 0xa7]
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x6c]
movzx edx, byte [ebp + edx - 0xaa]
movsx edx, byte [ebp + edx - 0x21c]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ebp + ecx - 0xa8]
mov byte [ebp + ecx - 0x21c], al
push 0x2154
push 0x43d3
push 0x6c73
push 0x2009
push 0x2550
push 1
push 0x572e
push 1
push 1
push 0x4ae2
push 0x3f8a
push 0x130a
lea eax, [ebp - 0x6c]
push eax
call fcn.004584ea
add esp, 0x34
jmp 0x45afb5
xor eax, eax
inc eax
imul eax, eax, 0xa
mov byte [ebp + eax - 0x21c], 0
push 0xa
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x360]
call fcn.0040ae2c
xor edx, edx
mov ecx, eax
call fcn.00447580
pop ecx
mov dword [ebp - 0x2cc], eax
lea ecx, [ebp - 0x360]
call fcn.0040ae5b
and dword [ebp - 0x108], 0
jmp 0x45b28a
mov eax, dword [ebp - 0x108]
inc eax
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0xb
jae 0x45b2a3
mov eax, dword [ebp - 0x108]
mov byte [ebp + eax - 0x21c], 0
jmp 0x45b27d
push dword [ebp - 0x2cc]
push dword [ebp - 0x238]
call fcn.00454a52
pop ecx
pop ecx
mov dword [ebp - 0x194], eax
push 0x3694
push 0x51bf
lea eax, [ebp - 0x194]
push eax
push 0x3697
push 0x6ff0
push 0x61f
push 0xf2
push 0
push 1
lea eax, [ebp - 0x40]
push eax
push 0x7dee
push 0x7874
push 0
call fcn.00459071
add esp, 0x34
push 0x44ba
push 0x441b
lea eax, [ebp - 0x14]
push eax
push 1
push 0
push 0x1835
push 0x7f87
push 0x5d5d
push 0x21cf
push 0x58d3
push 0x32ec
lea eax, [ebp - 0x194]
push eax
push 1
call fcn.00457ec4
add esp, 0x34
and dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x18], 0
jbe 0x45b36e
push 0x50d1
push 0x263
lea eax, [ebp - 0x60]
push eax
push 0x5b37
push 0
push 0
lea eax, [ebp - 0x14]
push eax
call fcn.00458c8b
add esp, 0x1c
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x14]
sub eax, dword [ebp - 0x60]
mov dword [ebp - 0x5c], eax
and dword [ebp - 0x68], 0
jmp 0x45b390
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x5c]
jge 0x45b46a
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 0x14]
sub eax, dword [ecx + 0x18]
cmp dword [ebp - 0x68], eax
jae 0x45b3df
push 0x5d64
push 0x32d2
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x1d4]
push eax
push 0
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x57ae
lea eax, [ebp - 0x14]
push eax
call fcn.00457c53
add esp, 0x24
jmp 0x45b405
push 0x373
lea eax, [ebp - 0x58]
push eax
push 0
push 0x2ee6
push 0x766f
lea eax, [ebp - 0x1d4]
push eax
push 1
call fcn.00459b9a
add esp, 0x1c
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1d4]
mov dword [ecx + eax], edx
push 0x5139
push 0x2c68
push 0x201b
push 0x72dd
push 0x54f7
push 0
push 1
push 0x50e6
push 0x7104
push 0x298e
push 0x373a
lea eax, [ebp - 0x18]
push eax
push 0xeb5
push 0xe44
push 0x170f
push 1
call fcn.00459573
add esp, 0x40
jmp 0x45b389
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x14]
sub eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x14], eax
push 0x2b41
lea eax, [ebp - 0x5c]
push eax
push 0x6317
push 0
push 1
push 0x4d71
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x14]
push eax
push 0x27d
push 0x561
push 0x7414
push 0x2cdf
push 0
call fcn.00457ec4
add esp, 0x34
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0xb51
push 0x5009
push 0xbb9
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x28]
push eax
push 1
push 0
push 0x7c51
push 0x4fd8
push 0x3a60
push 1
call fcn.00459071
add esp, 0x34
lea eax, [ebp - 0x14]
push eax
push 1
push 0x3f45
push 0x28e5
push 0x6e23
push 0xcbf
push 0x1420
push 0x7711
push 0x3bc
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x18]
push eax
push 0x2c09
push 1
push 0x3247
push 1
push 0x26c4
push 0x2d20
call fcn.00458855
add esp, 0x44
push 0x730c
push 0x3c0e
push 0x381a
push 0x4c68
push 0x6923
push 0x311d
push 0x1cd4
push 1
push 1
push 0xce
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x60]
push eax
push 0
call fcn.00459071
add esp, 0x34
and dword [ebp - 0x148], 0
jmp 0x45b597
mov eax, dword [ebp - 0x148]
inc eax
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x5c]
jge 0x45b5ea
push 0x70e5
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x28]
push eax
push 0x528
push 0
push 0x4f88
push 1
push 0
push 0x42c
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x21e7
call fcn.004584ea
add esp, 0x34
mov eax, dword [ebp - 0x18]
inc eax
inc eax
mov dword [ebp - 0x18], eax
jmp 0x45b58a
push 0x3234
push 0
push 0x6db
push 0x12f1
push 0x5898
push 0x5a1a
push 0x4bdb
push 0x3d97
push 0x35e7
push 0x8d7
push 0x40f9
lea eax, [ebp - 0x5c]
push eax
push 0
lea eax, [ebp - 0x14]
push eax
push 1
push 0x7cd3
lea eax, [ebp - 0x18]
push eax
call fcn.00458855
add esp, 0x44
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
add ecx, dword [eax + 0xc]
add ecx, dword [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x318]
call fcn.0040ae2c
lea ecx, [ebp - 0x318]
call fcn.0040aea7
mov dword [ebp - 0x19c], eax
push dword [ebp - 0x19c]
mov eax, dword [ebp - 0x19c]
shr eax, 1
push eax
call fcn.00454a52
pop ecx
pop ecx
mov dword [ebp - 0x78], eax
mov byte [ebp - 0x54], 1
mov byte [ebp - 0x53], 0x89
mov byte [ebp - 0x52], 2
mov byte [ebp - 0x51], 8
mov byte [ebp - 0x50], 4
mov byte [ebp - 0x4f], 0x91
mov byte [ebp - 0x4e], 0x63
mov byte [ebp - 0x4d], 0
mov byte [ebp - 0x4c], 0x66
mov byte [ebp - 0x4b], 0
mov byte [ebp - 0x4a], 0x42
mov byte [ebp - 0x49], 3
mov byte [ebp - 0x48], 0x42
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x54]
or eax, 0xed
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x54]
and ecx, 0xed
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0x54]
mov byte [ebp + ecx - 0x80], al
mov dword [ebp - 0x30], 2
and dword [ebp - 0x110], 0
jmp 0x45b6fb
mov eax, dword [ebp - 0x30]
inc eax
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xd
jae 0x45b7b0
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x54]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x30], eax
jne 0x45b73c
mov eax, dword [ebp - 0x30]
movzx eax, byte [ebp + eax - 0x54]
inc eax
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x30]
movzx eax, byte [ebp + eax - 0x54]
mov ecx, dword [ebp - 0x30]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x30], eax
jmp 0x45b6f3
mov eax, dword [ebp - 0x30]
movzx eax, byte [ebp + eax - 0x53]
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x110]
movzx ecx, byte [ebp + ecx - 0x56]
movsx ecx, byte [ebp + ecx - 0x80]
or eax, ecx
mov ecx, dword [ebp - 0x30]
movzx ecx, byte [ebp + ecx - 0x53]
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x110]
movzx edx, byte [ebp + edx - 0x56]
movsx edx, byte [ebp + edx - 0x80]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x30]
movzx ecx, byte [ebp + ecx - 0x54]
mov byte [ebp + ecx - 0x80], al
push 0x128f
push 0x199d
push 0
lea eax, [ebp - 0x110]
push eax
push 0x2467
push 0x2d40
push 0
call fcn.00459b9a
add esp, 0x1c
jmp 0x45b6f3
xor eax, eax
inc eax
shl eax, 2
mov byte [ebp + eax - 0x80], 0
cmp dword [ebp - 0x78], 4
jle 0x45b808
or dword [ebp - 0x1c], 1
or dword [ebp - 0x1c], 2
or dword [ebp - 0x1c], 4
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x390]
call fcn.0040ae2c
push eax
mov eax, dword [ebp - 0x78]
sub eax, 4
push eax
lea eax, [ebp - 0x378]
push eax
call fcn.004551c4
pop ecx
pop ecx
mov edx, eax
lea ecx, [ebp - 0x438]
call fcn.0045ebf2
pop ecx
mov dword [ebp - 0x1fc], eax
jmp 0x45b823
or dword [ebp - 0x1c], 8
push dword [ebp - 0x78]
lea eax, [ebp - 0x3d8]
push eax
call fcn.004551c4
pop ecx
pop ecx
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x28c], eax
push dword [ebp - 0x28c]
lea ecx, [ebp - 0x348]
call fcn.0044690c
mov eax, dword [ebp - 0x1c]
and eax, 8
je 0x45b857
and dword [ebp - 0x1c], 0xfffffff7
lea ecx, [ebp - 0x3d8]
call fcn.0040ae5b
mov eax, dword [ebp - 0x1c]
and eax, 4
je 0x45b86e
and dword [ebp - 0x1c], 0xfffffffb
lea ecx, [ebp - 0x438]
call fcn.0040ae5b
mov eax, dword [ebp - 0x1c]
and eax, 2
je 0x45b885
and dword [ebp - 0x1c], 0xfffffffd
lea ecx, [ebp - 0x378]
call fcn.0040ae5b
mov eax, dword [ebp - 0x1c]
and eax, 1
je 0x45b89c
and dword [ebp - 0x1c], 0xfffffffe
lea ecx, [ebp - 0x390]
call fcn.0040ae5b
and dword [ebp - 0x154], 0
jmp 0x45b8b2
mov eax, dword [ebp - 0x154]
inc eax
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 5
jae 0x45b8c8
mov eax, dword [ebp - 0x154]
mov byte [ebp + eax - 0x80], 0
jmp 0x45b8a5
push 0x4086
push 0x1ac3
push 0x16b5
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
push 0xb8b
push 0x352e
push 1
push 1
push 0x314f
push 0x16c7
push 0x9a1
push 1
call fcn.00459071
add esp, 0x34
lea eax, [ebp - 0x348]
push eax
push 0x2797
lea eax, [ebp - 0x14]
push eax
push 0x7b4
push 0x7d4a
push 1
push 1
push 0x72b
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x28]
push eax
push 0x1e98
push 0x39b0
lea eax, [ebp - 0x2c]
push eax
push 0x2c63
push 0x3e64
push 1
call fcn.00459573
add esp, 0x40
push 1
push 0x4e78
lea eax, [ebp - 0x18]
push eax
push 0xc4c
push 0x5eee
push 0x5d2f
lea eax, [ebp - 0x78]
push eax
push 0x2eae
push 0x72e3
push 0x12bc
push 1
push 0x5c61
call fcn.00459da1
add esp, 0x30
push 1
push 0x4ce3
push 0x40c8
push 0x7180
lea eax, [ebp - 0x28]
push eax
push 0x5305
push 0x74aa
lea eax, [ebp - 0x18]
push eax
push 0x6cf1
push 0x686d
push 0
lea eax, [ebp - 0x2c]
push eax
call fcn.00459da1
add esp, 0x30
lea eax, [ebp - 0x18]
push eax
push 0x1776
push 0x69e4
push 0x73f9
push 0
push 1
push 0x5392
call fcn.00458c8b
add esp, 0x1c
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x18], 0
jbe 0x45ba4c
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x18]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
sub eax, ecx
mov ecx, dword [ebp - 0x14]
xor edx, edx
div dword [ecx + 0x18]
cmp eax, 0xc
jbe 0x45ba20
mov dword [ebp - 0x1a4], 0xc
jmp 0x45ba3e
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x18]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
sub eax, ecx
mov ecx, dword [ebp - 0x14]
xor edx, edx
div dword [ecx + 0x18]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1dc], eax
jmp 0x45ba53
and dword [ebp - 0x1dc], 0
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1ac], eax
and dword [ebp - 0x128], 0
jmp 0x45ba75
mov eax, dword [ebp - 0x128]
inc eax
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [eax + 0x18]
jae 0x45bd35
push dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1ac]
cdq
sub eax, edx
sar eax, 1
push eax
call fcn.00454a52
pop ecx
pop ecx
mov dword [ebp - 0x184], eax
push dword [ebp - 0x184]
lea eax, [ebp - 0x330]
push eax
call fcn.004551c4
pop ecx
pop ecx
mov dword [ebp - 0x188], 0x20f3
mov dword [ebp - 0x244], 0xa890e8
cmp dword [ebp - 0x188], 0x2349
jle 0x45bbdc
and dword [ebp - 0x118], 0
jmp 0x45baf4
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0x533e
jge 0x45bbdc
and dword [ebp - 0x15c], 0
jmp 0x45bb1a
mov eax, dword [ebp - 0x15c]
inc eax
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 0x3755
jge 0x45bbd7
and dword [ebp - 0x120], 0
jmp 0x45bb40
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0x5bfa
jge 0x45bbd2
and dword [ebp - 0x170], 0
jmp 0x45bb66
mov eax, dword [ebp - 0x170]
inc eax
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 0x25fc
jge 0x45bbcd
mov eax, dword [ebp - 0x118]
xor eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x120]
add ecx, dword [ebp - 0x170]
xor eax, ecx
cdq
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], edx
push dword [ebp - 0x280]
push dword [ebp - 0x284]
lea ecx, [ebp - 0x3c0]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.0040ac78
push eax
call fcn.004a1e87
pop ecx
lea ecx, [ebp - 0x3c0]
call fcn.0040ac6e
jmp 0x45bb59
jmp 0x45bb33
jmp 0x45bb0d
jmp 0x45bae7
push 0x4680
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x14]
push eax
push 1
push 0x374d
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x28]
push eax
push 0
lea eax, [ebp - 0x2c]
push eax
call fcn.0045828b
add esp, 0x24
mov dword [ebp - 4], 8
cmp dword [ebp - 0x188], 0x20ab
jge 0x45bc28
push dword [ebp - 0x244]
call fcn.004a1e87
pop ecx
jmp 0x45bc44
or dword [ebp - 4], 0xffffffff
jmp 0x45bc4e
push 0x3a4a
push 1
lea eax, [ebp - 0x2c]
push eax
push 0x3ad0
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x330]
push eax
push 0x6834
lea eax, [ebp - 0x18]
push eax
push 0x2a68
push 0x4409
push 0x4140
push 0x681f
push 0
push 0x412e
push 1
lea eax, [ebp - 0x28]
push eax
push 0x5a32
call fcn.00458855
add esp, 0x44
push 0x4de4
push 0x1e96
push 0x2a9c
push 0x136c
lea eax, [ebp - 0x184]
push eax
push 0
lea eax, [ebp - 0x18]
push eax
push 1
push 1
push 0xc01
push 0x58b9
push 0x2108
push 0x536f
call fcn.004584ea
add esp, 0x34
lea eax, [ebp - 0x2c]
push eax
push 0x128
push 0x6832
push 1
push 1
push 0x30ef
push 0x7e
push 0x25d4
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x28]
push eax
push 0x330
push 0x2330
push 0
call fcn.00457ec4
add esp, 0x34
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x330]
call fcn.0040ae5b
jmp 0x45ba68
mov dword [ebp - 0x1b4], 0x7a09
mov dword [ebp - 0x294], 0xa89158
cmp dword [ebp - 0x1b4], 0x7aa4
jle 0x45be01
and dword [ebp - 0x158], 0
jmp 0x45bd6f
mov eax, dword [ebp - 0x158]
inc eax
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x158], 0x3e5
jge 0x45be01
and dword [ebp - 0xd8], 0
jmp 0x45bd95
mov eax, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0x754e
jge 0x45bdfc
and dword [ebp - 0xdc], 0
jmp 0x45bdb7
mov eax, dword [ebp - 0xdc]
inc eax
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0x4ad9
jge 0x45bdfa
mov eax, dword [ebp - 0x158]
add eax, dword [ebp - 0xd8]
or eax, dword [ebp - 0xdc]
cdq
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], edx
push dword [ebp - 0x230]
push dword [ebp - 0x234]
mov ecx, 0xaa4f58
call fcn.0040ac83
jmp 0x45bdaa
jmp 0x45bd88
jmp 0x45bd62
and dword [ebp - 0x70], 0
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x1b4], 0x76e5
jge 0x45be28
mov edx, dword [ebp - 0x294]
mov ecx, 0xaa4f58
call fcn.0040d509
jmp 0x45be44
or dword [ebp - 4], 0xffffffff
jmp 0x45be4e
jmp 0x45be57
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x18]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
sub eax, ecx
cmp dword [ebp - 0x70], eax
jae 0x45be94
push 1
lea eax, [ebp - 0x70]
push eax
push 0
push 0x569a
push 0x3914
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0045a2e0
add esp, 0x20
jmp 0x45be50
push 0x3558
push 0x4ed1
push 0x23fc
push 1
push 1
lea eax, [ebp - 0x38]
push eax
push 0x6b9c
push 0x74d8
push 0x51e3
push 0x2424
lea eax, [ebp - 0x70]
push eax
push 0x7709
push 1
call fcn.00457ec4
add esp, 0x34
lea ecx, [ebp - 0x348]
call fcn.0040ae5b
lea ecx, [ebp - 0x318]
call fcn.0040ae5b
jmp 0x45c058
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x1e4], 0x4b8f
mov dword [ebp - 0x2a8], 0xa891a8
cmp dword [ebp - 0x1e4], 0x4cd4
jle 0x45bfd5
and dword [ebp - 0xe4], 0
jmp 0x45bf3f
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x56e8
jge 0x45bfd5
and dword [ebp - 0xec], 0
jmp 0x45bf65
mov eax, dword [ebp - 0xec]
inc eax
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0x59df
jge 0x45bfd0
and dword [ebp - 0xf4], 0
jmp 0x45bf87
mov eax, dword [ebp - 0xf4]
inc eax
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0x6202
jge 0x45bfce
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xec]
shl eax, cl
mov ecx, dword [ebp - 0xf4]
sar eax, cl
cdq
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], edx
push dword [ebp - 0x23c]
push dword [ebp - 0x240]
mov ecx, 0xaa4f58
call fcn.0040ac83
jmp 0x45bf7a
jmp 0x45bf58
jmp 0x45bf32
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x26c], eax
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x1e4], 0x487f
jge 0x45c004
mov edx, dword [ebp - 0x2a8]
mov ecx, 0xaa4f58
call fcn.0040d509
jmp 0x45c020
or dword [ebp - 4], 0xffffffff
jmp 0x45c02a
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x22c], eax
call fcn.004a23b2
mov esi, eax
mov ecx, dword [ebp - 0x22c]
call fcn.0040aea7
mov ecx, eax
mov eax, esi
xor edx, edx
div ecx
mov eax, dword [ebp - 0x26c]
mov dword [eax], edx
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x1bc], 0x6a5f
jge 0x45c077
push dword [ebp - 0x2bc]
call fcn.004a1e87
pop ecx
jmp 0x45c093
or dword [ebp - 4], 0xffffffff
jmp 0x45c09d
jmp 0x45c799
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x34], 0x2c29a3df
mov dword [ebp - 0x1b0], 0x9a31c0a9
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x34], eax
jl 0x45c497
mov dword [ebp - 0x1f0], 0x2532
mov dword [ebp - 0x274], 0xa89224
cmp dword [ebp - 0x1f0], 0x2847
jle 0x45c1c4
push 0
push 0
push 0
push 0
call dword [0xaa829c]
and dword [ebp - 0xfc], 0
jmp 0x45c110
mov eax, dword [ebp - 0xfc]
inc eax
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0x78cd
jge 0x45c1c4
and dword [ebp - 0x104], 0
jmp 0x45c136
mov eax, dword [ebp - 0x104]
inc eax
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0x7bc1
jge 0x45c1bf
and dword [ebp - 0x10c], 0
jmp 0x45c158
mov eax, dword [ebp - 0x10c]
inc eax
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0x7e99
jge 0x45c1ba
mov eax, dword [ebp - 0xfc]
cdq
idiv dword [ebp - 0x104]
or edx, dword [ebp - 0x10c]
mov eax, edx
cdq
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x248], edx
push dword [ebp - 0x248]
push dword [ebp - 0x24c]
lea ecx, [ebp - 0x3f0]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.0040ac78
push eax
call fcn.004a1e87
pop ecx
lea ecx, [ebp - 0x3f0]
call fcn.0040ac6e
jmp 0x45c14b
jmp 0x45c129
jmp 0x45c103
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x1f0], 0x240d
jge 0x45c1e3
push dword [ebp - 0x274]
call fcn.004a1e87
pop ecx
jmp 0x45c1ff
or dword [ebp - 4], 0xffffffff
jmp 0x45c209
mov dword [ebp - 0x2d0], 0x21589afc
mov dword [ebp - 0x114], 0
jmp 0x45c22c
mov eax, dword [ebp - 0x114]
inc eax
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 3
jge 0x45c248
mov eax, dword [ebp - 0x114]
mov dword [ebp + eax*4 - 0x300], 3
jmp 0x45c21f
mov dword [ebp - 0x34], 0
jmp 0x45c258
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0xfffffffa
jg 0x45c492
push 3
lea ecx, [ebp - 0x228]
call fcn.0040aeab
mov dword [ebp - 0x64], 0x37b04800
mov dword [ebp - 0x11c], 0
jmp 0x45c28f
mov eax, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 3
jge 0x45c2ae
push dword [ebp - 0x11c]
lea ecx, [ebp - 0x228]
call fcn.0040af99
or dword [eax], 0xffffffff
jmp 0x45c282
push 1
lea ecx, [ebp - 0x228]
call fcn.0040af99
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1c4]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x1c4]
mov dword [ecx], eax
mov dword [ebp - 0x64], 2
jmp 0x45c2e2
mov eax, dword [ebp - 0x64]
dec eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jl 0x45c482
mov dword [ebp - 0x3c], 0xe0091df8
mov dword [ebp - 0x3c], 2
jmp 0x45c303
mov eax, dword [ebp - 0x3c]
dec eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jl 0x45c47d
cmp dword [ebp - 0x3c], 0xfffffff7
jle 0x45c31f
mov dword [ebp - 0x1ec], 1
jmp 0x45c326
and dword [ebp - 0x1ec], 0
cmp dword [ebp - 0x1ec], 0xffffffff
jge 0x45c33b
mov dword [ebp - 0x1cc], 1
jmp 0x45c342
and dword [ebp - 0x1cc], 0
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x228]
call fcn.0040af99
mov eax, dword [eax]
cmp eax, dword [ebp - 0x1cc]
jge 0x45c366
mov dword [ebp - 0x2c8], 1
jmp 0x45c36d
and dword [ebp - 0x2c8], 0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2f4], eax
cmp dword [ebp - 0x3c], 0
jne 0x45c395
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x300], 0
jne 0x45c395
and dword [ebp - 0x18c], 0
jmp 0x45c39f
mov dword [ebp - 0x18c], 1
cmp dword [ebp - 0x18c], 0x6d5d
je 0x45c3b7
mov dword [ebp - 0x190], 1
jmp 0x45c3be
and dword [ebp - 0x190], 0
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x228]
call fcn.0040af99
mov esi, dword [ebp - 0x190]
imul esi, dword [eax]
imul esi, dword [ebp - 0x1b0]
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x228]
call fcn.0040af99
cmp esi, dword [eax]
jne 0x45c3fa
mov dword [ebp - 0x198], 1
jmp 0x45c401
and dword [ebp - 0x198], 0
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x228]
call fcn.0040af99
mov ecx, dword [ebp - 0x198]
cmp ecx, dword [eax]
jg 0x45c425
mov dword [ebp - 0x1a0], 1
jmp 0x45c42c
and dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x64]
cmp dword [ebp - 0x1a0], eax
jge 0x45c443
mov dword [ebp - 0x1a8], 1
jmp 0x45c44a
and dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x1a8]
inc eax
cmp eax, dword [ebp - 0x1b0]
je 0x45c465
mov dword [ebp - 0x1b8], 1
jmp 0x45c46c
and dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x2d0], eax
jmp 0x45c2fc
jmp 0x45c2db
lea ecx, [ebp - 0x228]
call fcn.0040af7d
jmp 0x45c251
jmp 0x45c757
push 3
lea ecx, [ebp - 0x2f0]
call fcn.0040aeab
mov dword [ebp - 0x17c], 0x312349
mov dword [ebp - 0x2b8], 1
mov dword [ebp - 0x124], 0
jmp 0x45c4d1
mov eax, dword [ebp - 0x124]
inc eax
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 3
jge 0x45c4f3
push dword [ebp - 0x124]
lea ecx, [ebp - 0x2f0]
call fcn.0040af99
mov dword [eax], 0xfffffff9
jmp 0x45c4c4
mov dword [ebp - 0x1d8], 0x4df6
mov dword [ebp - 0x290], 0xa89250
cmp dword [ebp - 0x1d8], 0x51d5
jle 0x45c632
push 0x2284
push 0
push 0x1a5a
push 0
push 0
push 0x1cf1
call dword [0xaa82f4]
and dword [ebp - 0x144], 0
jmp 0x45c548
mov eax, dword [ebp - 0x144]
inc eax
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0x3c7
jge 0x45c632
and dword [ebp - 0x12c], 0
jmp 0x45c56e
mov eax, dword [ebp - 0x12c]
inc eax
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0x78c1
jge 0x45c62d
and dword [ebp - 0x134], 0
jmp 0x45c594
mov eax, dword [ebp - 0x134]
inc eax
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0x4654
jge 0x45c628
and dword [ebp - 0x13c], 0
jmp 0x45c5ba
mov eax, dword [ebp - 0x13c]
inc eax
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0x2404
jge 0x45c623
mov eax, dword [ebp - 0x12c]
imul eax, dword [ebp - 0x134]
cdq
idiv dword [ebp - 0x13c]
mov eax, dword [ebp - 0x144]
sub eax, edx
cdq
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], edx
push dword [ebp - 0x254]
push dword [ebp - 0x258]
lea ecx, [ebp - 0x420]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.0040ac78
push eax
call fcn.004a1e87
pop ecx
lea ecx, [ebp - 0x420]
call fcn.0040ac6e
jmp 0x45c5ad
jmp 0x45c587
jmp 0x45c561
jmp 0x45c53b
mov dword [ebp - 0x34], 0
jmp 0x45c642
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jg 0x45c707
mov dword [ebp - 0x180], 0x3781cdff
mov dword [ebp - 0x288], 0
push 1
lea ecx, [ebp - 0x2f0]
call fcn.0040af99
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0x17c]
cmp eax, 2
jge 0x45c693
mov dword [ebp - 0x1c0], 1
jmp 0x45c69a
and dword [ebp - 0x1c0], 0
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x180]
sub eax, 0x25dbf607
jne 0x45c6c5
cmp dword [ebp - 0x17c], 0
jne 0x45c6c5
and dword [ebp - 0x1c8], 0
jmp 0x45c6cf
mov dword [ebp - 0x1c8], 1
mov eax, dword [ebp - 0x288]
imul eax, dword [ebp - 0x1c8]
cmp eax, 0xfffd
jbe 0x45c6ef
mov dword [ebp - 0x1d0], 1
jmp 0x45c6f6
and dword [ebp - 0x1d0], 0
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x2b8], eax
jmp 0x45c63b
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x1d8], 0x4c23
jge 0x45c726
push dword [ebp - 0x290]
call fcn.004a1e87
pop ecx
jmp 0x45c742
or dword [ebp - 4], 0xffffffff
jmp 0x45c74c
lea ecx, [ebp - 0x2f0]
call fcn.0040af7d
mov byte [ebp - 0x41], 0
movzx eax, byte [ebp - 0x41]
test eax, eax
je 0x45c775
push 0
push 0x16ac
push 0x35d
call dword [0xaa8574]
push 0x2887
push 0x2c43
push 0x4303
push 0
push dword [ebp - 0x2e0]
push 0x619c
call fcn.00457e9e
add esp, 0x18
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret