Function at 0x4593d1
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x564
push esi
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x45bb8a
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x384], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x38c], eax
lea eax, [ebp + 8]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
test eax, eax
je 0x45bb1c
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x38c]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], 0xe19d
mov dword [ebp - 0x394], 0xc4e2bf5
lea eax, [ebp - 0x394]
push eax
push 0x5ac3
push 0
push 0x583c
lea eax, [ebp - 0x4c]
push eax
call fcn.0046088c
add esp, 0x14
mov dword [ebp - 0x4c], 0xfffffff4
jmp 0x459483
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 6
jl 0x4594a1
push 0x4c07
push 0
call fcn.00461693
pop ecx
pop ecx
cmp dword [ebp - 0x4c], 0
je 0x45949f
jmp 0x45947c
jmp 0x45947c
and dword [ebp - 0xc], 0
mov dword [ebp - 0x2c4], 4
mov dword [ebp - 0x2dc], 1
mov dword [ebp - 0x39c], 0xfffffffc
mov dword [ebp - 0x68], 0x9ecf4a41
mov dword [ebp - 0x37c], 0xffffffff
mov dword [ebp - 0x3a4], 0x145ba13b
mov dword [ebp - 0x3b4], 1
mov dword [ebp - 0x3ac], 0
mov dword [ebp - 0xb4], 0
jmp 0x45950b
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 4
jge 0x459527
mov eax, dword [ebp - 0xb4]
mov dword [ebp + eax*4 - 0x564], 0
jmp 0x4594fe
push 0
lea eax, [ebp - 0x68]
push eax
push 0x73a7
push 0x7c80
lea eax, [ebp - 0x39c]
push eax
lea eax, [ebp - 0x3a4]
push eax
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x3b4]
push eax
lea eax, [ebp - 0x37c]
push eax
push 1
lea eax, [ebp - 0x2dc]
push eax
lea eax, [ebp - 0x2c4]
push eax
push 0x52c0
call fcn.00457e24
add esp, 0x34
mov dword [ebp - 0x68], 0
jmp 0x459587
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 3
jg 0x4595c6
mov byte [ebp - 0x2c], 0
push 0x6021
push 0x5b67
push 0x7fa6
push 0x1e85
push 1
push 0x3705
push 0x4c19
push 0x4b55
lea eax, [ebp - 0x2c]
push eax
push 0
call fcn.004565fe
add esp, 0x28
jmp 0x459580
mov dword [ebp - 0xd4], 0xffffffff
mov dword [ebp - 0xd4], 0xa
jmp 0x4595e9
mov eax, dword [ebp - 0xd4]
dec eax
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0xfffffff2
jg 0x459654
mov dword [ebp - 0x2c8], 0xa4d073ff
push 1
lea eax, [ebp - 0x2c8]
push eax
push 1
push 0x659a
push 0x7569
call fcn.00456d7a
add esp, 0x14
mov byte [ebp - 0x22], 0
lea eax, [ebp - 0x22]
push eax
push 1
push 0x7aeb
push 0x576a
push 0x1b0b
push 1
push 0x2eac
push 0x40d5
push 1
push 0x6db5
push 0x54cd
call fcn.00456fb4
add esp, 0x2c
jmp 0x4595dc
mov dword [ebp - 0x130], 0x490c
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x1ac], 0xa912e755
push 1
lea ecx, [ebp - 0x450]
call fcn.004013f7
mov dword [ebp - 0x160], 7
lea eax, [ebp - 0x450]
push eax
push 0
push 0x4bf7
lea eax, [ebp - 0x90]
push eax
call fcn.0046138b
add esp, 0x10
mov dword [ebp - 0x90], 0
jmp 0x4596bc
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 3
jge 0x4596d8
mov eax, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x4ac], 7
jmp 0x4596af
cmp dword [ebp - 0x130], 0
je 0x459703
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x51c], eax
mov eax, 0xfffd
sub eax, dword [ebp - 0x34]
je 0x459703
mov dword [ebp - 0x388], 1
jmp 0x45970a
and dword [ebp - 0x388], 0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x1ac], 0
cmp dword [ebp - 0x1ac], 0
je 0x45973b
mov eax, 0xf18ee85e
test eax, eax
je 0x45973b
mov dword [ebp - 0x278], 1
jmp 0x459742
and dword [ebp - 0x278], 0
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x278], eax
jle 0x459759
mov dword [ebp - 0x1ec], 1
jmp 0x459760
and dword [ebp - 0x1ec], 0
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x1ec], eax
jne 0x459777
mov dword [ebp - 0x270], 1
jmp 0x45977e
and dword [ebp - 0x270], 0
mov eax, dword [ebp - 0x34]
neg eax
cmp eax, dword [ebp - 0x270]
je 0x459797
mov dword [ebp - 0x14c], 1
jmp 0x45979e
and dword [ebp - 0x14c], 0
push 0
lea ecx, [ebp - 0x450]
call fcn.004014e5
mov ecx, dword [ebp - 0x14c]
mov dword [eax], ecx
cmp dword [ebp - 0x160], 0xfffffff7
jb 0x4597c8
mov dword [ebp - 0x150], 1
jmp 0x4597cf
and dword [ebp - 0x150], 0
cmp dword [ebp - 0x150], 0x11c15747
jge 0x4597e7
mov dword [ebp - 0x1f0], 1
jmp 0x4597ee
and dword [ebp - 0x1f0], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x4ac]
imul eax, dword [ebp - 0x1f0]
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0x4ac]
jge 0x45981d
mov dword [ebp - 0x158], 1
jmp 0x459824
and dword [ebp - 0x158], 0
cmp dword [ebp - 0x158], 0xe01e6e83
ja 0x45983c
mov dword [ebp - 0x234], 1
jmp 0x459843
and dword [ebp - 0x234], 0
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x130]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x160], eax
lea ecx, [ebp - 0x450]
call fcn.004014c9
push 2
lea ecx, [ebp - 0x2b0]
call fcn.004013f7
push 0
push 0x621a
lea edx, [ebp - 0x2b0]
lea ecx, [ebp - 0x480]
call fcn.00437a70
pop ecx
pop ecx
push 1
lea ecx, [ebp - 0x2b0]
call fcn.004014e5
and dword [eax], 0
jmp 0x4598c3
push 1
lea ecx, [ebp - 0x2b0]
call fcn.004014e5
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1f4]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x1f4]
mov dword [ecx], eax
push 1
lea ecx, [ebp - 0x2b0]
call fcn.004014e5
cmp dword [eax], 0xd
jge 0x459a8c
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x2d0], 0x2f644acc
mov dword [ebp - 0x3c], 3
push 2
lea ecx, [ebp - 0x3e0]
call fcn.004013f7
mov dword [ebp - 0xbc], 0
jmp 0x459917
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 2
jge 0x459939
push dword [ebp - 0xbc]
lea ecx, [ebp - 0x3e0]
call fcn.004014e5
mov dword [eax], 0xb7b2415f
jmp 0x45990a
push 1
lea ecx, [ebp - 0x2b0]
call fcn.004014e5
cmp dword [ebp - 0x70], 0x5dec
jl 0x45995b
mov dword [ebp - 0x168], 1
jmp 0x459962
and dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x168], eax
jl 0x45997a
xor eax, eax
jne 0x45997a
and dword [ebp - 0x274], 0
jmp 0x459984
mov dword [ebp - 0x274], 1
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x2d0]
add ecx, dword [ebp - 0x274]
imul eax, ecx
cmp dword [ebp - 0x70], eax
jne 0x4599a7
mov dword [ebp - 0x170], 1
jmp 0x4599ae
and dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x170], eax
jge 0x4599c5
mov dword [ebp - 0x1fc], 1
jmp 0x4599cc
and dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x1fc]
sub eax, 3
sub eax, dword [ebp - 0x3c]
je 0x459a1a
mov dword [ebp - 0x3c], 0
jmp 0x4599ea
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 2
jge 0x459a18
push 0x172e
push 0x54b3
push 0
push 0xfae
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x3e0]
push eax
push 1
call fcn.004572db
add esp, 0x1c
jmp 0x4599e3
jmp 0x459a7c
mov dword [ebp - 0x350], 1
push 1
lea ecx, [ebp - 0x3e0]
call fcn.004014e5
cmp dword [eax], 0
je 0x459a64
push 0x238f
lea eax, [ebp - 0x350]
push eax
push 0x4200
push 0x6bf1
push 0
push 0x3482
push 0
push 0x66e
call fcn.00460f21
add esp, 0x20
jmp 0x459a7c
push 0x1881
push 0
push 0x6f70
lea eax, [ebp - 0x70]
push eax
call fcn.0045fd64
add esp, 0x10
lea ecx, [ebp - 0x3e0]
call fcn.004014c9
jmp 0x45989f
lea ecx, [ebp - 0x2b0]
call fcn.004014c9
lea eax, [ebp - 0x118]
push eax
push 1
push 0x677b
push 0x7fba
lea eax, [ebp - 0x138]
push eax
push 0x11cc
push 1
call fcn.00455e4c
add esp, 0x1c
mov dword [ebp - 0x54], 8
push 1
lea ecx, [ebp - 0x4bc]
call fcn.004013f7
mov dword [ebp - 0x23c], 1
mov dword [ebp - 0x18], 0
jmp 0x459aee
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 1
jge 0x459b04
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x178], 0xffffffff
jmp 0x459ae7
mov dword [ebp - 0x18], 0
jmp 0x459b14
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 1
jge 0x459b30
push dword [ebp - 0x18]
lea ecx, [ebp - 0x4bc]
call fcn.004014e5
mov dword [eax], 0x4888999d
jmp 0x459b0d
mov dword [ebp - 0x54], 0
jmp 0x459b40
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jl 0x459b5c
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp + eax*4 - 0x178]
mov dword [ebp + ecx*4 - 0x178], eax
jmp 0x459b39
mov eax, dword [ebp - 0x23c]
dec eax
mov dword [ebp - 0x23c], eax
lea ecx, [ebp - 0x4bc]
call fcn.004014c9
mov eax, dword [ebp - 0x118]
movzx eax, word [eax]
cmp eax, 0x5a4d
je 0x459c00
mov dword [ebp - 0xe4], 0
jmp 0x459b9d
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 3
jge 0x459bb9
mov eax, dword [ebp - 0xe4]
mov dword [ebp + eax*4 - 0x554], 0x2e0cf572
jmp 0x459b90
mov byte [ebp - 0x23], 0
push 1
push 0x31de
push 0x47df
push 0
push 0x1d3d
lea eax, [ebp - 0x23]
push eax
push 0x77db
call fcn.004588eb
add esp, 0x1c
mov byte [ebp - 0x25], 0
push 1
push 1
lea eax, [ebp - 0x25]
push eax
call fcn.00457241
add esp, 0xc
mov eax, dword [ebp - 0x44]
and dword [eax], 0
jmp 0x45bc58
lea eax, [ebp - 0x118]
push eax
push 0xd85
lea eax, [ebp - 0x6c]
push eax
push 0x376e
push 1
push 0x4231
lea eax, [ebp - 0x138]
push eax
push 0x1dcc
push 0
call fcn.0045bdb4
add esp, 0x24
push 0x32a0
push 0
push 1
call fcn.004577de
add esp, 0xc
mov eax, dword [ebp - 0x6c]
cmp dword [eax], 0x4550
je 0x459d27
mov dword [ebp - 0xd8], 0x62d5e48d
mov dword [ebp - 0xc4], 0
jmp 0x459c75
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 1
jge 0x459c91
mov eax, dword [ebp - 0xc4]
mov dword [ebp + eax*4 - 0x2d8], 3
jmp 0x459c68
mov dword [ebp - 0xd8], 4
jmp 0x459caa
mov eax, dword [ebp - 0xd8]
dec eax
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0xfffffff9
jne 0x459d1c
mov dword [ebp - 0x88], 1
mov dword [ebp - 0x88], 0xc
jmp 0x459cd6
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0x12
jl 0x459d1a
cmp dword [ebp - 0x88], 0xf737a9a9
jne 0x459cfe
push 4
pop eax
test eax, eax
je 0x459cfe
mov dword [ebp - 0x180], 1
jmp 0x459d05
and dword [ebp - 0x180], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x180]
mov dword [ebp + eax - 0x2d8], ecx
jmp 0x459cc9
jmp 0x459c9d
mov eax, dword [ebp - 0x44]
and dword [eax], 0
jmp 0x45bc58
mov dword [ebp - 0x410], 9
mov dword [ebp - 0x40c], 9
mov dword [ebp - 0x408], 9
mov dword [ebp - 0x404], 9
lea ecx, [ebp - 0x139]
call fcn.004014f4
push eax
lea eax, [ebp - 0x400]
push eax
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x530]
call fcn.004014f7
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x290]
call fcn.004014a3
mov dword [ebp - 0x3a8], 0x9c213245
mov dword [ebp - 0xa0], 0
jmp 0x459da7
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 2
jge 0x459dc3
mov eax, dword [ebp - 0xa0]
mov dword [ebp + eax*4 - 0x3e8], 0
jmp 0x459d9a
mov byte [ebp - 0x27], 0
movzx eax, byte [ebp - 0x27]
test eax, eax
je 0x459def
push 0x1e44
push 1
push 0x2a6c
push 0x757a
push 0x378f
push 0
call fcn.00460d26
add esp, 0x18
push 2
lea ecx, [ebp - 0x290]
call fcn.004014e5
cmp dword [eax], 0xe704f3d
jg 0x459e10
mov dword [ebp - 0x25c], 1
jmp 0x459e17
and dword [ebp - 0x25c], 0
push 2
lea ecx, [ebp - 0x290]
call fcn.004014e5
imul eax, dword [eax], 0x3f0
cmp eax, 6
jbe 0x459e3b
mov dword [ebp - 0x204], 1
jmp 0x459e42
and dword [ebp - 0x204], 0
mov esi, dword [ebp - 0x3a8]
push 1
lea ecx, [ebp - 0x290]
call fcn.004014e5
mov ecx, dword [ebp - 0x204]
add ecx, dword [eax]
cmp esi, ecx
jne 0x459e6d
mov dword [ebp - 0x188], 1
jmp 0x459e74
and dword [ebp - 0x188], 0
push 2
lea ecx, [ebp - 0x290]
call fcn.004014e5
imul ecx, dword [ebp - 0x188], 0xd621
add ecx, dword [ebp - 0x25c]
cmp dword [eax], ecx
jl 0x459ea1
mov dword [ebp - 0x2e0], 1
jmp 0x459ea8
and dword [ebp - 0x2e0], 0
push 2
lea ecx, [ebp - 0x290]
call fcn.004014e5
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x3e8]
mov dword [ebp - 0x4e0], eax
push 3
lea ecx, [ebp - 0x290]
call fcn.004014e5
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x3e8], 2
lea ecx, [ebp - 0x290]
call fcn.004014c9
push 0x684a
lea eax, [ebp - 0xc0]
push eax
push 0
push 0x461d
push 0x547f
lea eax, [ebp - 0x6c]
push eax
push 1
push 1
push 0x3af0
call fcn.0045e309
add esp, 0x24
mov dword [ebp - 0x4a0], 0xa7b051af
mov dword [ebp - 0x358], 0xffffffff
mov dword [ebp - 0xcc], 0
jmp 0x459f4b
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 2
jge 0x459f67
mov eax, dword [ebp - 0xcc]
mov dword [ebp + eax*4 - 0x48c], 0
jmp 0x459f3e
push 4
pop eax
imul eax, eax, 0
imul eax, dword [ebp + eax - 0x48c], 0
mov dword [ebp - 0x358], eax
mov byte [ebp - 0x29], 0
push 0
push 1
push 0x86e
lea eax, [ebp - 0x29]
push eax
call fcn.004582ad
add esp, 0x10
cmp dword [ebp - 0xc0], 0
jne 0x45a3de
mov dword [ebp - 0x438], 4
mov dword [ebp - 0x434], 4
mov dword [ebp - 0x430], 4
mov dword [ebp - 0x42c], 4
lea ecx, [ebp - 0x105]
call fcn.004014f4
push eax
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x540]
call fcn.004014f7
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x4cc]
call fcn.004014a3
mov dword [ebp - 0x2e8], 0x5ccc90a3
mov dword [ebp - 0x390], 1
mov dword [ebp - 0x2f0], 0x5051acae
mov byte [ebp - 0x2b], 0
push 0x4a52
push 0x4dba
lea eax, [ebp - 0x2b]
push eax
push 0x476c
push 1
push 0x7893
push 0
push 0x3a23
call fcn.00460f21
add esp, 0x20
lea eax, [ebp - 0x2e8]
push eax
lea eax, [ebp - 0x390]
push eax
lea eax, [ebp - 0x2f0]
push eax
push 0
lea eax, [ebp - 0x4cc]
push eax
push 1
call fcn.0045f938
add esp, 0x18
lea ecx, [ebp - 0x4cc]
call fcn.004014c9
mov dword [ebp - 8], 0x4182bd7b
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0xac], 0
jmp 0x45a0aa
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 2
jge 0x45a0c6
mov eax, dword [ebp - 0xac]
mov dword [ebp + eax*4 - 0xfc], 0x5464b5f5
jmp 0x45a09d
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xfc]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45a23c
mov dword [ebp - 0x110], 0xfffffff6
mov dword [ebp - 0x20c], 0x878abc10
mov dword [ebp - 8], 0
jmp 0x45a104
mov eax, dword [ebp - 8]
dec eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffec
jle 0x45a176
mov dword [ebp - 0x360], 0xfef9d786
push 0
push 1
push 0x6b1e
push 1
lea eax, [ebp - 0x360]
push eax
push 0x421a
push 0x4319
lea eax, [ebp - 0x110]
push eax
call fcn.0045ffbf
add esp, 0x20
push 0xbc8
push 0x6ca6
push 0xc3b
lea eax, [ebp - 0x20c]
push eax
push 0x3325
push 0x5abe
push 0
push 0x136b
push 1
lea eax, [ebp - 8]
push eax
call fcn.00458558
add esp, 0x28
jmp 0x45a0fd
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x110]
dec ecx
cmp dword [ebp + eax - 0xfc], ecx
jg 0x45a198
mov dword [ebp - 0x198], 1
jmp 0x45a19f
and dword [ebp - 0x198], 0
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0xfc]
cmp dword [ebp + eax - 0xfc], ecx
jl 0x45a1c7
mov dword [ebp - 0x190], 1
jmp 0x45a1ce
and dword [ebp - 0x190], 0
cmp dword [ebp - 0x190], 0x19a6
jne 0x45a1e6
mov dword [ebp - 0x2b4], 1
jmp 0x45a1ed
and dword [ebp - 0x2b4], 0
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x4f0], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xfc]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x110]
cmp dword [ebp - 8], eax
je 0x45a220
mov dword [ebp - 0x244], 1
jmp 0x45a227
and dword [ebp - 0x244], 0
mov eax, dword [ebp - 0x198]
imul eax, dword [ebp - 0x244]
mov dword [ebp - 0x20], eax
jmp 0x45a3d3
mov dword [ebp - 0x5c], 0xffffffff
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x4b0], eax
cmp dword [ebp - 0x20], 0
jne 0x45a282
mov eax, 0xdd9a
test eax, eax
je 0x45a273
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 8], eax
jg 0x45a282
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xfc], 0
jne 0x45a282
cmp dword [ebp - 0x20], 0
jne 0x45a282
and dword [ebp - 0x1a0], 0
jmp 0x45a28c
mov dword [ebp - 0x1a0], 1
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 8], 0xbbfe
jne 0x45a2ad
mov dword [ebp - 0x214], 1
jmp 0x45a2b4
and dword [ebp - 0x214], 0
cmp dword [ebp - 0x214], 0x9e8a28d8
ja 0x45a2cc
mov dword [ebp - 0x3b8], 1
jmp 0x45a2d3
and dword [ebp - 0x3b8], 0
mov eax, dword [ebp - 0x50]
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0xfc]
add ecx, 0x609e820f
sub eax, ecx
je 0x45a37f
push 1
lea ecx, [ebp - 0x45c]
call fcn.004013f7
mov dword [ebp - 0x300], 0xffffffff
push 0x6ff9
push 0x69d0
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x524]
push eax
push 1
push 0xaf7
push 1
call fcn.0045756f
add esp, 0x1c
mov byte [ebp - 0x2d], 0
movzx eax, byte [ebp - 0x2d]
test eax, eax
je 0x45a34b
push 0
push 1
push 1
push 0
call dword [0xa650c8]
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x50]
push eax
push 0x657a
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x300]
push eax
xor dl, dl
mov cl, 1
call fcn.00437b26
add esp, 0x14
lea ecx, [ebp - 0x45c]
call fcn.004014c9
jmp 0x45a3d3
mov dword [ebp - 0x50], 0
jmp 0x45a38f
mov eax, dword [ebp - 0x50]
dec eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0xfffffffe
je 0x45a3bd
mov dword [ebp - 0x20], 0
jmp 0x45a3a5
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x45a3bb
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xfc], 0x84bafc8d
jmp 0x45a39e
jmp 0x45a388
push 1
push 1
push 0x6da
push 0xfde
call fcn.00457682
add esp, 0x10
mov eax, dword [ebp - 0x44]
and dword [eax], 0
jmp 0x45bc58
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x26c], 0x310fecaf
mov dword [ebp - 0xb0], 0xe0566a92
mov dword [ebp - 0x60], 4
push 1
lea ecx, [ebp - 0x3c4]
call fcn.004013f7
mov dword [ebp - 0x24c], 0xbc657e3b
mov dword [ebp - 0x10], 0
jmp 0x45a427
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jge 0x45a43d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x128], 0xfc3938dd
jmp 0x45a420
mov dword [ebp - 0x10], 0
jmp 0x45a44d
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jge 0x45a469
push dword [ebp - 0x10]
lea ecx, [ebp - 0x3c4]
call fcn.004014e5
mov dword [eax], 0xdc41fd9d
jmp 0x45a446
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1a8], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x1a8]
mov dword [ebp + eax - 0x128], ecx
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0xb0], eax
je 0x45a4b4
mov dword [ebp - 0x1b0], 1
jmp 0x45a4bb
and dword [ebp - 0x1b0], 0
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x1b0], eax
jge 0x45a4d2
mov dword [ebp - 0x21c], 1
jmp 0x45a4d9
and dword [ebp - 0x21c], 0
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x21c], eax
je 0x45a4f6
mov dword [ebp - 0x1b8], 1
jmp 0x45a4fd
and dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x1b8], eax
jl 0x45a514
mov dword [ebp - 0x368], 1
jmp 0x45a51b
and dword [ebp - 0x368], 0
push 0
lea ecx, [ebp - 0x3c4]
call fcn.004014e5
mov eax, dword [eax]
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
je 0x45a723
mov dword [ebp - 0x1c0], 0xffffffff
push 3
lea ecx, [ebp - 0x444]
call fcn.004013f7
mov dword [ebp - 0x98], 0
jmp 0x45a56d
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 2
jge 0x45a589
mov eax, dword [ebp - 0x98]
mov dword [ebp + eax*4 - 0x298], 0x816f93bd
jmp 0x45a560
push 0xbef
push 0x129c
push 0x65b6
lea eax, [ebp - 0x98]
push eax
push 0
push 0x3035
push 0x7803
push 0x1850
push 0x5666
push 1
lea eax, [ebp - 0x444]
push eax
call fcn.00456082
add esp, 0x2c
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x298], 0
je 0x45a6f5
mov dword [ebp - 0x1d0], 1
mov dword [ebp - 0x398], 0xffffffff
mov dword [ebp - 0x1c0], 0xfffffff7
cmp dword [ebp - 0x1c0], 0
jne 0x45a6b2
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x298], 0
jne 0x45a630
push 0
lea ecx, [ebp - 0x3c4]
call fcn.004014e5
cmp dword [eax], 0
jne 0x45a630
and dword [ebp - 0x224], 0
jmp 0x45a63a
mov dword [ebp - 0x224], 1
cmp dword [ebp - 0x224], 0x314b
jg 0x45a654
or eax, 0xffffffff
jne 0x45a654
and dword [ebp - 0x308], 0
jmp 0x45a65e
mov dword [ebp - 0x308], 1
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x4c0], eax
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
shl ecx, 0
mov eax, dword [ebp + eax - 0x298]
imul eax, dword [ebp + ecx - 0x298]
mov dword [ebp - 0x1c8], eax
push 0
lea ecx, [ebp - 0x444]
call fcn.004014e5
mov ecx, dword [ebp - 0x1c8]
mov dword [eax], ecx
cmp dword [ebp - 0x1c8], 0
jne 0x45a6b2
and dword [ebp - 0x264], 0
jmp 0x45a6bc
mov dword [ebp - 0x264], 1
mov dword [ebp - 0x60], 0xffffffff
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x264]
jl 0x45a6da
mov dword [ebp - 0x22c], 1
jmp 0x45a6e1
and dword [ebp - 0x22c], 0
mov eax, dword [ebp - 0x1d0]
sub eax, dword [ebp - 0x22c]
mov dword [ebp - 0x398], eax
jmp 0x45a713
mov byte [ebp - 0x2f], 0
push 1
push 0x1042
lea eax, [ebp - 0x2f]
push eax
push 1
push 0x7f13
call fcn.00457750
add esp, 0x14
lea ecx, [ebp - 0x444]
call fcn.004014c9
jmp 0x45a7dc
mov dword [ebp - 0x1e0], 0x67dc
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x128], 0x9867f5d1
je 0x45a74c
mov dword [ebp - 0x1d8], 1
jmp 0x45a753
and dword [ebp - 0x1d8], 0
mov dword [ebp - 0xb0], 0xfd57
mov eax, dword [ebp - 0xb0]
cmp dword [ebp - 0x1d8], eax
jle 0x45a789
push 0
lea ecx, [ebp - 0x3c4]
call fcn.004014e5
cmp dword [eax], 0
je 0x45a789
mov dword [ebp - 0x254], 1
jmp 0x45a790
and dword [ebp - 0x254], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x254]
sub ecx, dword [ebp + eax - 0x128]
mov dword [ebp - 0x1e0], ecx
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x60], eax
mov byte [ebp - 0x30], 0
push 0x2e3a
push 1
push 0x7446
push 1
push 0x35c6
push 0x6466
push 1
lea eax, [ebp - 0x30]
push eax
call fcn.004578c4
add esp, 0x20
lea ecx, [ebp - 0x3c4]
call fcn.004014c9
lea eax, [ebp - 0x464]
push eax
push 0x37d2
push 0x3bc9
push 0x625d
push 0x159
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x6c]
push eax
push 0x7120
push 1
push 1
push 0x3728
lea eax, [ebp - 0x118]
push eax
push 0x35ee
lea eax, [ebp - 0xc]
push eax
push 0x24ed
call fcn.00457a05
add esp, 0x3c
mov dword [ebp - 0x64], 0x5c68ec0a
mov dword [ebp - 0x310], 0xffffffff
mov dword [ebp - 0xb8], 0
jmp 0x45a862
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 1
jge 0x45a87e
mov eax, dword [ebp - 0xb8]
mov dword [ebp + eax*4 - 0x46c], 0xfffffff8
jmp 0x45a855
push 0x1c8d
push 0x261c
lea eax, [ebp - 0x64]
push eax
push 1
push 1
push 0x527b
push 0x6452
push 0x20f6
push 0x2ece
call fcn.004562ac
add esp, 0x24
mov dword [ebp - 0x64], 0
jmp 0x45a8bc
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jg 0x45a8e6
push 0x910
push 1
lea eax, [ebp - 0x310]
push eax
push 0x6a9b
push 0
push 0x67bb
call fcn.00456bf9
add esp, 0x18
jmp 0x45a8b5
lea eax, [ebp - 0xc]
push eax
push 1
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x138]
push eax
push 1
call fcn.0045643f
add esp, 0x14
push 4
lea ecx, [ebp - 0x4dc]
call fcn.004013f7
push 0x112b
push 1
lea eax, [ebp - 0x474]
push eax
lea eax, [ebp - 0x4dc]
push eax
push 0x197c
push 1
call fcn.0045650d
add esp, 0x18
mov byte [ebp - 0x24], 0
movzx eax, byte [ebp - 0x24]
test eax, eax
je 0x45a959
push 0x10de
push 1
push 0
push 0x3f53
push 0x6f02
call fcn.004612e2
add esp, 0x14
push 0xb1e
push 1
push 0x5f92
push 0
push 0xc1
push 0x78ff
push 0x2a3d
push 0x14de
push 0x7fe1
call fcn.00458e2d
add esp, 0x24
lea ecx, [ebp - 0x4dc]
call fcn.004014c9
push 0x6ada
lea eax, [ebp - 0x144]
push eax
push 0x3fc5
push 0x387b
push 1
push 0x4fff
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0xc0]
push eax
push 0x1f6b
push 1
call fcn.004565fe
add esp, 0x28
mov dword [ebp - 0x47c], 0x3f4f
mov dword [ebp - 0x120], 0xfffffffd
mov dword [ebp - 0x370], 0xca3691f6
mov dword [ebp - 0x14], 0
jmp 0x45a9f8
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jge 0x45aa0e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x148], 0xfffffff7
jmp 0x45a9f1
mov dword [ebp - 0x14], 0
jmp 0x45aa1e
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jge 0x45aa34
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x318], 0x8fc558ba
jmp 0x45aa17
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x370]
cmp dword [ebp + eax - 0x318], ecx
jle 0x45aa55
mov dword [ebp - 0x104], 1
jmp 0x45aa5c
and dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x120]
dec eax
mov dword [ebp - 0x120], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x104]
mov dword [ebp + eax - 0x148], ecx
mov eax, dword [ebp - 0x120]
cmp eax, dword [ebp - 0x104]
jge 0x45aaa7
mov byte [ebp - 0x48], 0
push 0
push 1
lea eax, [ebp - 0x48]
push eax
push 0x118a
push 1
call fcn.00456c99
add esp, 0x14
jmp 0x45aadc
mov dword [ebp - 0x1e8], 0x2c40a98c
push 0x7c45
push 0
push 1
lea eax, [ebp - 0x1e8]
push eax
call fcn.00460299
add esp, 0x10
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x1e8]
mov dword [ebp + eax - 0x148], ecx
mov byte [ebp - 0x26], 0
push 1
push 0x32b3
push 0
lea eax, [ebp - 0x26]
push eax
push 0x3c86
push 0xe74
push 0x1610
call fcn.004569c9
add esp, 0x1c
cmp dword [ebp - 0x144], 0
je 0x45ab51
push 1
push 0x24c2
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x73e1
push 0x25a6
push 0x6f8c
push 0x739e
push 0xd98
push 1
push 0x5a0f
push 0x919
push 0x204d
call fcn.00457e24
add esp, 0x34
mov dword [ebp - 0x58], 8
push 3
lea ecx, [ebp - 0x3d4]
call fcn.004013f7
mov dword [ebp - 0x10c], 0xbf68593f
mov dword [ebp - 0x154], 0x1cb2
mov dword [ebp - 0x320], 0xffffffff
mov dword [ebp - 0x74], 0
jmp 0x45ab93
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 4
jge 0x45aba9
mov eax, dword [ebp - 0x74]
mov dword [ebp + eax*4 - 0x510], 0x6e3245f1
jmp 0x45ab8c
lea eax, [ebp - 0x3d4]
push eax
push 0
lea eax, [ebp - 0x74]
push eax
call fcn.0045f780
add esp, 0xc
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x510], 0x9e923e64
jae 0x45abdd
mov dword [ebp - 0x16c], 1
jmp 0x45abe4
and dword [ebp - 0x16c], 0
mov dword [ebp - 0x58], 0x979b
push 2
lea ecx, [ebp - 0x3d4]
call fcn.004014e5
push 0
lea ecx, [ebp - 0x3d4]
call fcn.004014e5
mov ecx, dword [ebp - 0x10c]
cmp dword [eax], ecx
je 0x45ac1b
mov dword [ebp - 0x3b0], 1
jmp 0x45ac22
and dword [ebp - 0x3b0], 0
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x484], eax
cmp dword [ebp - 0x154], 0
je 0x45ac50
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x510], 0
jne 0x45ac50
and dword [ebp - 0x15c], 0
jmp 0x45ac5a
mov dword [ebp - 0x15c], 1
mov eax, dword [ebp - 0x154]
cmp dword [ebp - 0x15c], eax
jle 0x45ac7a
cmp dword [ebp - 0x10c], 0
jne 0x45ac7a
and dword [ebp - 0x164], 0
jmp 0x45ac84
mov dword [ebp - 0x164], 1
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x320], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x510]
imul ecx, dword [ebp - 0x16c], 0
sub eax, ecx
je 0x45acc6
push 0
lea ecx, [ebp - 0x3d4]
call fcn.004014e5
cmp dword [eax], 0
je 0x45acc6
mov dword [ebp - 0x174], 1
jmp 0x45accd
and dword [ebp - 0x174], 0
cmp dword [ebp - 0x174], 0
je 0x45ad0d
mov dword [ebp - 0x378], 0xca3e
push 0x3368
push 0x57ae
push 0
push 1
push 0x3a67
push 0x2fc0
lea eax, [ebp - 0x378]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00457423
add esp, 0x20
jmp 0x45ad48
mov dword [ebp - 0x58], 3
jmp 0x45ad1d
mov eax, dword [ebp - 0x58]
dec eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jl 0x45ad48
mov byte [ebp - 0x35], 0
push 1
push 1
lea eax, [ebp - 0x35]
push eax
push 0x2989
push 0x5a33
push 0x7661
call fcn.004581e2
add esp, 0x18
jmp 0x45ad16
lea ecx, [ebp - 0x3d4]
call fcn.004014c9
push dword [ebp - 0xc]
call fcn.0045579e
pop ecx
test eax, eax
jne 0x45ad6b
mov eax, dword [ebp - 0x44]
and dword [eax], 0
jmp 0x45bc58
mov dword [ebp - 0x490], 0x2db58e46
mov dword [ebp - 0x330], 1
mov dword [ebp - 0x328], 0xfffffff8
mov dword [ebp - 0x49c], 0x390197f0
mov dword [ebp - 0x518], 0xffffffff
mov dword [ebp - 0x520], 0xffffffff
mov dword [ebp - 0x114], 0xfffffffc
mov dword [ebp - 0x528], 0xb66bafcb
mov dword [ebp - 0x17c], 4
mov dword [ebp - 0x514], 0xffffffff
push 3
lea ecx, [ebp - 0x284]
call fcn.004013f7
mov dword [ebp - 0x7c], 0
jmp 0x45adec
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 1
jge 0x45ae02
mov eax, dword [ebp - 0x7c]
mov dword [ebp + eax*4 - 0x380], 1
jmp 0x45ade5
push 0x490d
push 0
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.004615c8
add esp, 0x10
push 1
push 1
lea eax, [ebp - 0x284]
push eax
push 0x3adc
call fcn.004582ad
add esp, 0x10
cmp dword [ebp - 0x114], 0
je 0x45aec5
cmp dword [ebp - 0x114], 0
jne 0x45ae51
cmp dword [ebp - 0x328], 0
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x468], eax
mov esi, dword [ebp - 0x17c]
push 2
lea ecx, [ebp - 0x284]
call fcn.004014e5
cmp esi, dword [eax]
jne 0x45ae80
mov dword [ebp - 0x3a0], 1
jmp 0x45ae87
and dword [ebp - 0x3a0], 0
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x500], eax
push 2
lea ecx, [ebp - 0x284]
call fcn.004014e5
push 6
pop eax
test eax, eax
jne 0x45aeb4
push 2
lea ecx, [ebp - 0x284]
call fcn.004014e5
or eax, 0xffffffff
je 0x45aec5
mov dword [ebp - 0x184], 1
jmp 0x45aecc
and dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x330]
cmp dword [ebp - 0x184], eax
jg 0x45aee6
mov dword [ebp - 0x18c], 1
jmp 0x45aeed
and dword [ebp - 0x18c], 0
push 2
lea ecx, [ebp - 0x284]
call fcn.004014e5
mov ecx, dword [ebp - 0x18c]
cmp ecx, dword [eax]
jl 0x45af10
mov dword [ebp - 0x194], 1
jmp 0x45af17
and dword [ebp - 0x194], 0
cmp dword [ebp - 0x194], 0xe834ab4
jl 0x45af2f
mov dword [ebp - 0x19c], 1
jmp 0x45af36
and dword [ebp - 0x19c], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x19c]
mov dword [ebp + eax - 0x380], ecx
lea ecx, [ebp - 0x284]
call fcn.004014c9
push 0x41f1
push 1
push 0xc12
lea eax, [ebp - 0xc]
push eax
push 0x19c5
push 0x4423
push 0x14e9
push 0x33c0
push 1
push 0x6c7c
call fcn.0045835b
add esp, 0x28
mov dword [ebp - 0x84], 0xfffffff9
mov dword [ebp - 0x84], 0
jmp 0x45afaa
mov eax, dword [ebp - 0x84]
dec eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0xffffffe4
jle 0x45b1db
mov dword [ebp - 0x424], 3
mov dword [ebp - 0x420], 3
mov dword [ebp - 0x41c], 3
mov dword [ebp - 0x418], 3
lea ecx, [ebp - 0xfd]
call fcn.004014f4
push eax
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x538]
call fcn.004014f7
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x348]
call fcn.004014a3
mov dword [ebp - 0x11c], 1
push 3
lea ecx, [ebp - 0x348]
call fcn.004014e5
and dword [eax], 0
jmp 0x45b054
push 3
lea ecx, [ebp - 0x348]
call fcn.004014e5
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x1a4]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x1a4]
mov dword [ecx], eax
push 3
lea ecx, [ebp - 0x348]
call fcn.004014e5
cmp dword [eax], 0xfffffff5
je 0x45b1cb
push 4
lea ecx, [ebp - 0x2a4]
call fcn.004013f7
mov dword [ebp - 0x3c8], 0xf126c7f0
lea eax, [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x470]
push eax
push 0x5fb8
push 1
push 1
call fcn.004567cd
add esp, 0x14
push 1
lea ecx, [ebp - 0x2a4]
call fcn.004014e5
cmp dword [eax], 0
jne 0x45b0c4
mov eax, 0x28fd
test eax, eax
jne 0x45b0c4
and dword [ebp - 0x140], 0
jmp 0x45b0ce
mov dword [ebp - 0x140], 1
push 1
lea ecx, [ebp - 0x2a4]
call fcn.004014e5
mov ecx, dword [ebp - 0x140]
cmp ecx, dword [eax]
jg 0x45b0f1
mov dword [ebp - 0x338], 1
jmp 0x45b0f8
and dword [ebp - 0x338], 0
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x4d0], eax
mov eax, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x11c], eax
push 2
lea ecx, [ebp - 0x348]
call fcn.004014e5
push 1
lea ecx, [ebp - 0x2a4]
call fcn.004014e5
cmp dword [eax], 0xfffffff7
jne 0x45b13c
mov dword [ebp - 0x1b4], 1
jmp 0x45b143
and dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x1b4]
sub eax, dword [ebp - 0x84]
cmp eax, 0xa7609fa8
jb 0x45b162
mov dword [ebp - 0x1bc], 1
jmp 0x45b169
and dword [ebp - 0x1bc], 0
push 1
lea ecx, [ebp - 0x2a4]
call fcn.004014e5
mov ecx, dword [ebp - 0x1bc]
cmp ecx, dword [eax]
jge 0x45b18c
mov dword [ebp - 0x1c4], 1
jmp 0x45b193
and dword [ebp - 0x1c4], 0
cmp dword [ebp - 0x1c4], 2
jle 0x45b1a8
mov dword [ebp - 0x1cc], 1
jmp 0x45b1af
and dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x3c8], eax
lea ecx, [ebp - 0x2a4]
call fcn.004014c9
jmp 0x45b030
lea ecx, [ebp - 0x348]
call fcn.004014c9
jmp 0x45af9d
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
cmp dword [eax + 0x28], 0
je 0x45ba78
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xc0]
add ecx, dword [eax + 0x28]
mov dword [ebp - 0x1dc], ecx
jne 0x45b44f
mov dword [ebp - 0x8c], 3
mov dword [ebp - 0x8c], 0
jmp 0x45b227
mov eax, dword [ebp - 0x8c]
dec eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0xfffffffa
jg 0x45b285
mov byte [ebp - 0x28], 0
movzx eax, byte [ebp - 0x28]
test eax, eax
je 0x45b25e
push 0x7738
push 0x7903
push 1
push 1
push 1
mov edx, 0x2837
mov ecx, 0x79f3
call fcn.00463358
add esp, 0x14
mov byte [ebp - 0x47], 0
push 1
push 0x1b1
lea eax, [ebp - 0x47]
push eax
push 0x55
push 1
push 0x5973
push 0x2b77
call fcn.004584ac
add esp, 0x1c
jmp 0x45b21a
push 0x1ea9
push 0x52e5
push 1
lea eax, [ebp - 0x8c]
push eax
push 1
call fcn.004568b0
add esp, 0x14
mov dword [ebp - 0xc8], 0x1928c176
mov dword [ebp - 0xc8], 0xffffffe2
jmp 0x45b2c5
mov eax, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0xffffffe5
jl 0x45b444
mov dword [ebp - 0x94], 0x22b16580
mov dword [ebp - 0xd0], 0
jmp 0x45b2f5
mov eax, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 2
jge 0x45b311
mov eax, dword [ebp - 0xd0]
mov dword [ebp + eax*4 - 0x498], 0xc30
jmp 0x45b2e8
mov dword [ebp - 0x94], 0
jmp 0x45b32a
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 1
jg 0x45b43f
mov dword [ebp - 0xa4], 0x62a2b3b7
mov eax, dword [ebp - 0x94]
cmp dword [ebp + eax*4 - 0x498], 0
je 0x45b356
jmp 0x45b43f
mov dword [ebp - 0xa4], 1
jmp 0x45b36f
mov eax, dword [ebp - 0xa4]
dec eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jl 0x45b43a
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x1d4], 0xfffffffc
mov dword [ebp - 0xa8], 0
jmp 0x45b3a6
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 1
jge 0x45b3c2
mov eax, dword [ebp - 0xa8]
mov dword [ebp + eax*4 - 0x2c0], 0xef6e229e
jmp 0x45b399
mov dword [ebp - 0x1c], 1
jmp 0x45b3d2
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jl 0x45b3f7
mov dword [ebp - 0x1d4], 0x6a927213
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp + eax - 0x2c0], ecx
jmp 0x45b3cb
mov dword [ebp - 0x1c], 1
jmp 0x45b407
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jl 0x45b435
mov byte [ebp - 0x2a], 0
lea eax, [ebp - 0x2a]
push eax
push 0x5316
push 0x68fa
push 0x56b
push 0
push 0x15d7
call fcn.00460fbb
add esp, 0x18
jmp 0x45b400
jmp 0x45b362
jmp 0x45b31d
jmp 0x45b2b8
mov eax, dword [ebp - 0x44]
and dword [eax], 0
jmp 0x45bc58
mov dword [ebp - 0x9c], 0xfffffff9
mov dword [ebp - 0x9c], 0
jmp 0x45b472
mov eax, dword [ebp - 0x9c]
dec eax
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0xffffffe4
jle 0x45b526
mov dword [ebp - 0x3fc], 3
mov dword [ebp - 0x3f8], 3
mov dword [ebp - 0x3f4], 3
mov dword [ebp - 0x3f0], 3
lea ecx, [ebp - 0x131]
call fcn.004014f4
push eax
lea eax, [ebp - 0x3ec]
push eax
lea eax, [ebp - 0x3fc]
push eax
lea ecx, [ebp - 0x548]
call fcn.004014f7
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x4ec]
call fcn.004014a3
mov dword [ebp - 0x2bc], 1
push 1
lea eax, [ebp - 0x4ec]
push eax
lea eax, [ebp - 0x2bc]
push eax
push 0x2f12
lea eax, [ebp - 0x9c]
push eax
push 0x515b
push 0x180d
push 1
call fcn.0045877a
add esp, 0x20
lea ecx, [ebp - 0x4ec]
call fcn.004014c9
jmp 0x45b465
push 0
push 1
push 0xdeadbeef
call dword [ebp - 0x1dc]
mov dword [ebp - 0x2d4], eax
push 3
lea ecx, [ebp - 0xf4]
call fcn.004013f7
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0x1e4], 1
mov dword [ebp - 0x2cc], 0x4bc795c3
push 0x7785
push 0x112c
push 1
lea eax, [ebp - 0x80]
push eax
push 0x4f7b
push 0x353f
lea eax, [ebp - 0xf4]
push eax
push 1
push 0x7667
push 1
call fcn.00458a0d
add esp, 0x28
mov dword [ebp - 0x80], 0
jmp 0x45b5a8
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 3
jge 0x45b5be
mov eax, dword [ebp - 0x80]
mov dword [ebp + eax*4 - 0x4fc], 0xc017f215
jmp 0x45b5a1
push 0
lea ecx, [ebp - 0xf4]
call fcn.004014e5
mov esi, eax
push 1
lea ecx, [ebp - 0xf4]
call fcn.004014e5
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x45b720
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x1e4], eax
cmp dword [ebp - 0x1e4], 5
jne 0x45b605
mov dword [ebp - 0x1f8], 1
jmp 0x45b60c
and dword [ebp - 0x1f8], 0
push 0
lea ecx, [ebp - 0xf4]
call fcn.004014e5
mov eax, dword [eax]
sub eax, dword [ebp - 0x1f8]
cmp eax, dword [ebp - 0xe0]
jg 0x45b635
mov dword [ebp - 0x200], 1
jmp 0x45b63c
and dword [ebp - 0x200], 0
mov eax, dword [ebp - 0xe0]
cmp dword [ebp - 0x200], eax
jge 0x45b65f
cmp dword [ebp - 0xe0], 0
je 0x45b65f
mov dword [ebp - 0x208], 1
jmp 0x45b666
and dword [ebp - 0x208], 0
push 0
lea ecx, [ebp - 0xf4]
call fcn.004014e5
mov ecx, dword [ebp - 0x208]
cmp ecx, dword [eax]
je 0x45b689
mov dword [ebp - 0x210], 1
jmp 0x45b690
and dword [ebp - 0x210], 0
push 1
lea ecx, [ebp - 0xf4]
call fcn.004014e5
mov ecx, dword [ebp - 0x210]
cmp ecx, dword [eax]
jne 0x45b6b3
mov dword [ebp - 0x124], 1
jmp 0x45b6ba
and dword [ebp - 0x124], 0
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x124]
mov dword [ebp + eax - 0x4fc], ecx
cmp dword [ebp - 0x124], 0
jne 0x45b6e2
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x4fc], 0
push 2
lea ecx, [ebp - 0xf4]
call fcn.004014e5
cmp dword [eax], 1
je 0x45b700
mov dword [ebp - 0x218], 1
jmp 0x45b707
and dword [ebp - 0x218], 0
mov eax, dword [ebp - 0x218]
sub eax, 0x2f34e401
je 0x45b720
mov dword [ebp - 0x220], 1
jmp 0x45b727
and dword [ebp - 0x220], 0
mov eax, dword [ebp - 0x220]
sub eax, 0x1fe71425
je 0x45b752
push 1
lea ecx, [ebp - 0xf4]
call fcn.004014e5
cmp dword [eax], 0
je 0x45b752
mov dword [ebp - 0x228], 1
jmp 0x45b759
and dword [ebp - 0x228], 0
push 1
lea ecx, [ebp - 0xf4]
call fcn.004014e5
mov esi, eax
push 1
lea ecx, [ebp - 0xf4]
call fcn.004014e5
mov ecx, dword [ebp - 0x228]
sub ecx, dword [eax]
cmp dword [esi], ecx
jg 0x45b79f
push 1
lea ecx, [ebp - 0xf4]
call fcn.004014e5
cmp dword [eax], 0
je 0x45b79f
mov dword [ebp - 0x230], 1
jmp 0x45b7a6
and dword [ebp - 0x230], 0
push 1
lea ecx, [ebp - 0xf4]
call fcn.004014e5
mov ecx, dword [ebp - 0x230]
cmp ecx, dword [eax]
jle 0x45b7c9
mov dword [ebp - 0x238], 1
jmp 0x45b7d0
and dword [ebp - 0x238], 0
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x2cc], eax
lea ecx, [ebp - 0xf4]
call fcn.004014c9
cmp dword [ebp - 0x2d4], 0
jne 0x45b933
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x12c], 0xfffffffe
mov dword [ebp - 0x248], 0x7f5a
mov dword [ebp - 0x2ec], 0xfffffffa
cmp dword [ebp - 0x240], 0
je 0x45b883
mov dword [ebp - 0x2b8], 9
mov byte [ebp - 0x3d], 0
movzx eax, byte [ebp - 0x3d]
test eax, eax
je 0x45b853
push 1
push 0xdaa
push 1
mov edx, 0x44b1
mov cl, 1
call fcn.004633aa
add esp, 0xc
lea eax, [ebp - 0x12c]
push eax
push 0x3917
push 1
push 1
push 0x5f0a
push 0x70af
push 0x1340
lea eax, [ebp - 0x2b8]
push eax
call fcn.00458d58
add esp, 0x20
jmp 0x45b8df
mov dword [ebp - 0x2f4], 0xe3cf
mov dword [ebp - 0x2e4], 0x2955
mov byte [ebp - 0x21], 0
lea eax, [ebp - 0x21]
push eax
push 0
call fcn.0045ff94
pop ecx
pop ecx
lea eax, [ebp - 0x2e4]
push eax
lea eax, [ebp - 0x12c]
push eax
push 0
push 0x24a6
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x2ec]
push eax
lea edx, [ebp - 0x2f4]
lea ecx, [ebp - 0x240]
call fcn.00437bbd
add esp, 0x18
push 0x62aa
push 0x157a
push 1
lea eax, [ebp - 0x248]
push eax
push 1
push 0xa1
push 0x86c
push 0x6f0e
push 0x1909
lea eax, [ebp - 0x12c]
push eax
push 0x9fa
push 0
push 0x46ae
push 0x6901
call fcn.00458f2e
add esp, 0x38
mov eax, dword [ebp - 0x44]
and dword [eax], 0
jmp 0x45bc58
mov dword [ebp - 4], 0xac204e2d
mov dword [ebp - 0x260], 6
mov dword [ebp - 0x2fc], 0x188753e1
mov dword [ebp - 4], 0xffffffe7
jmp 0x45b95e
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xfffffff6
jne 0x45b9bf
cmp dword [ebp - 4], 0
je 0x45b96c
jmp 0x45b9bf
mov byte [ebp - 0x46], 0
movzx eax, byte [ebp - 0x46]
test eax, eax
je 0x45b9bd
push 0x4cd
push 0x32a7
push 1
push 0x7319
push 1
push 0x1d55
push 0x191a
push 0x4271
push 0x1b9b
push 0x2ac0
push 0x775a
push 1
push 0x3554
push 0x3c8c
call fcn.00458f2e
add esp, 0x38
jmp 0x45b957
mov eax, dword [ebp - 4]
cmp dword [ebp - 4], eax
jl 0x45b9d3
mov dword [ebp - 0x250], 1
jmp 0x45b9da
and dword [ebp - 0x250], 0
mov eax, dword [ebp - 4]
neg eax
cmp eax, dword [ebp - 0x2fc]
jge 0x45b9f3
mov dword [ebp - 0x258], 1
jmp 0x45b9fa
and dword [ebp - 0x258], 0
mov eax, dword [ebp - 4]
imul eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x260]
add ecx, dword [ebp - 0x258]
imul ecx, dword [ebp - 4]
sub eax, ecx
add eax, 0xfff9
cmp eax, 0x9986e3e4
jbe 0x45ba2e
mov dword [ebp - 0x304], 1
jmp 0x45ba35
and dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x478], eax
mov dword [ebp - 4], 0x2ef703c5
push 0x1dec
push 0x2b31
push 1
push 0x5bbb
push 0x2a78
push 0x558a
push 0x30b
push 0
lea eax, [ebp - 0xc]
push eax
push 1
call fcn.00458a0d
add esp, 0x28
mov dword [ebp - 0xe8], 0xd4e06482
mov dword [ebp - 0xe8], 0xfffffff7
jmp 0x45ba9b
mov eax, dword [ebp - 0xe8]
dec eax
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0xffffffe5
jg 0x45bad2
mov dword [ebp - 0x30c], 0xe446df3
lea eax, [ebp - 0x30c]
push eax
push 1
push 0x1e60
push 0x3861
push 1
push 0x7bd2
call fcn.00456bf9
add esp, 0x18
jmp 0x45ba8e
push 0x3e28
push 0x4289
push 1
push 1
push 0x3374
push 1
call fcn.004591f4
add esp, 0x18
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x10], 0
je 0x45bb03
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x268], eax
jmp 0x45bb0a
and dword [ebp - 0x268], 0
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x268]
mov dword [eax], ecx
jmp 0x45bc58
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x354], eax
mov eax, dword [ebp - 0x34c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x354]
mov ecx, dword [ecx]
mov eax, dword [eax]
add eax, dword [ecx + 0x3c]
mov ecx, dword [ebp - 0x35c]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [ecx], eax
jmp 0x45bc58
lea eax, [ebp + 0x28]
mov dword [ebp - 0x364], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x36c], eax
mov eax, dword [ebp - 0x364]
movzx eax, byte [eax]
test eax, eax
je 0x45bc2e
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xdc]
mov dword [eax], 2
jmp 0x45bbe4
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0xdc]
mov dword [ecx], eax
mov eax, dword [ebp - 0xdc]
cmp dword [eax], 0
jl 0x45bc2c
mov byte [ebp - 0x2e], 0
movzx eax, byte [ebp - 0x2e]
test eax, eax
je 0x45bc2a
push 0xef1
push 0x52c6
push 0x6968
push 0x20b3
push 1
push 0
push 0x634b
push 0x6364
push 0x3e04
call fcn.00452a42
add esp, 0x24
jmp 0x45bbd3
jmp 0x45bc58
mov byte [ebp - 0x45], 0
movzx eax, byte [ebp - 0x45]
test eax, eax
je 0x45bc58
push 0x6f28
push 0x6cc
push 0
mov edx, 0x6273
mov ecx, 0x1059
call fcn.00437b07
add esp, 0xc
pop esi
mov esp, ebp
pop ebp
ret