Function at 0x4797b9
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b5ff7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x130c
call fcn.004b1970
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 0x1c]
test eax, eax
je 0x479803
push 1
push 0x4050
push 0x77ab
call fcn.00482041
add esp, 0xc
jmp 0x482030
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x998], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x9b8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x9a0], eax
lea eax, [ebp + 0x14]
mov dword [ebp - 0xc18], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x9b0], eax
mov eax, dword [ebp - 0xc18]
movzx eax, byte [eax]
test eax, eax
je 0x481f96
mov eax, dword [ebp - 0x998]
mov dword [ebp - 0x93c], eax
mov dword [ebp - 0x5d0], 0x1149
mov dword [ebp - 0x9a8], 0xad0250
cmp dword [ebp - 0x5d0], 0x11f8
jle 0x479912
and dword [ebp - 0x150], 0
jmp 0x479887
mov eax, dword [ebp - 0x150]
inc eax
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0x4057
jge 0x479907
and dword [ebp - 0x280], 0
jmp 0x4798a9
mov eax, dword [ebp - 0x280]
inc eax
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x280], 0xaa2
jge 0x479902
mov eax, dword [ebp - 0x150]
add eax, dword [ebp - 0x280]
cdq
mov dword [ebp - 0x9c4], eax
mov dword [ebp - 0x9c0], edx
push dword [ebp - 0x9c0]
push dword [ebp - 0x9c4]
lea ecx, [ebp - 0x1208]
call fcn.00401b08
pop ecx
pop ecx
mov ecx, eax
call fcn.00409a63
push eax
call fcn.0049f827
pop ecx
lea ecx, [ebp - 0x1208]
call fcn.00409a59
jmp 0x47989c
jmp 0x47987a
push 0x22a5
call dword [0xae8104]
mov eax, dword [ebp - 0x9a0]
mov dword [ebp - 0x9bc], eax
and dword [ebp - 4], 0
cmp dword [ebp - 0x5d0], 0x10b1
jge 0x47993a
push dword [ebp - 0x9a8]
call fcn.0049f827
pop ecx
jmp 0x479956
or dword [ebp - 4], 0xffffffff
jmp 0x479960
mov eax, dword [ebp - 0x9b0]
mov dword [ebp - 0x878], eax
mov eax, dword [ebp - 0x9b8]
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0xf1c], 2
mov dword [ebp - 0xec0], 0xa4a12b57
mov dword [ebp - 0xfb0], 0xd4914d2e
mov dword [ebp - 0xec8], 9
mov dword [ebp - 0xb94], 6
push 0
lea eax, [ebp - 0xb94]
push eax
push 0
push 0x6fce
call fcn.00476d1e
add esp, 0x10
push 0x3d29
push 0
call fcn.004607b3
pop ecx
pop ecx
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x1070], 1
mov dword [ebp - 0x8b0], 0x6dd2
mov dword [ebp - 0x158], 0
jmp 0x479a07
mov eax, dword [ebp - 0x158]
inc eax
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x158], 3
jge 0x479a23
mov eax, dword [ebp - 0x158]
mov dword [ebp + eax*4 - 0xca8], 0xffffffff
jmp 0x4799fa
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0xca8], 3
jmp 0x479a51
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xca8]
dec eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0xca8], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xca8], 0xfffffff5
jg 0x479cc1
mov dword [ebp - 0x160], 0xf390197f
mov dword [ebp - 0x31c], 0
jmp 0x479a88
mov eax, dword [ebp - 0x31c]
inc eax
mov dword [ebp - 0x31c], eax
cmp dword [ebp - 0x31c], 1
jge 0x479aa4
mov eax, dword [ebp - 0x31c]
mov dword [ebp + eax*4 - 0x888], 1
jmp 0x479a7b
mov dword [ebp - 0x160], 0
jmp 0x479abd
mov eax, dword [ebp - 0x160]
inc eax
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 0
jg 0x479cbc
mov dword [ebp - 0x10c], 0xffffffff
mov dword [ebp - 0x10c], 0
jmp 0x479aed
mov eax, dword [ebp - 0x10c]
dec eax
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
jl 0x479cb7
mov dword [ebp - 0x28c], 0
jmp 0x479b13
mov eax, dword [ebp - 0x28c]
inc eax
mov dword [ebp - 0x28c], eax
cmp dword [ebp - 0x28c], 2
jge 0x479b2f
mov eax, dword [ebp - 0x28c]
mov dword [ebp + eax*4 - 0x89c], 0xffffffff
jmp 0x479b06
mov byte [ebp - 0xb9], 0
movzx eax, byte [ebp - 0xb9]
test eax, eax
je 0x479b55
push 0
push 0x149a
push 0x3c7f
call fcn.00462fd8
add esp, 0xc
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x89c], 0
jmp 0x479b83
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x89c]
inc eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x89c], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x89c], 0
jg 0x479cb2
push 0x7fbf
push 0
push 0xd6a
call fcn.004749b3
add esp, 0xc
mov dword [ebp - 0x890], 0x6a07
mov dword [ebp - 0xb9c], 0xad0284
cmp dword [ebp - 0x890], 0x6d87
jle 0x479c43
and dword [ebp - 0x168], 0
jmp 0x479be1
mov eax, dword [ebp - 0x168]
inc eax
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0x5ae3
jge 0x479c43
and dword [ebp - 0x38c], 0
jmp 0x479c03
mov eax, dword [ebp - 0x38c]
inc eax
mov dword [ebp - 0x38c], eax
cmp dword [ebp - 0x38c], 0xf82
jge 0x479c41
mov eax, dword [ebp - 0x168]
imul eax, dword [ebp - 0x38c]
cdq
mov dword [ebp - 0x9d0], eax
mov dword [ebp - 0x9cc], edx
push dword [ebp - 0x9cc]
push dword [ebp - 0x9d0]
mov ecx, 0xae4c58
call fcn.00409a6e
jmp 0x479bf6
jmp 0x479bd4
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x89c]
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp + eax*4 - 0x888]
mov dword [ebp + ecx*4 - 0x888], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x890], 0x672c
jge 0x479c87
mov edx, dword [ebp - 0xb9c]
mov ecx, 0xae4c58
call fcn.0040c2f7
jmp 0x479ca3
or dword [ebp - 4], 0xffffffff
jmp 0x479cad
jmp 0x479b68
jmp 0x479ae0
jmp 0x479ab0
jmp 0x479a36
mov dword [ebp - 0x170], 2
jmp 0x479cda
mov eax, dword [ebp - 0x170]
inc eax
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 0xb
je 0x479d3c
mov dword [ebp - 0xba4], 0xffff
mov dword [ebp - 0x294], 0
jmp 0x479d06
mov eax, dword [ebp - 0x294]
inc eax
mov dword [ebp - 0x294], eax
cmp dword [ebp - 0x294], 3
jge 0x479d22
mov eax, dword [ebp - 0x294]
mov dword [ebp + eax*4 - 0x1280], 0x188753e
jmp 0x479cf9
cmp dword [ebp - 0xba4], 0
je 0x479d2d
jmp 0x479d3c
mov eax, dword [ebp - 0x8b0]
inc eax
mov dword [ebp - 0x8b0], eax
jmp 0x479ccd
push 0
call fcn.0046f604
pop ecx
mov dword [ebp - 0xed0], 2
mov dword [ebp - 0x98], 0x42c70bb7
mov dword [ebp - 0x440], 5
mov dword [ebp - 0x990], 0xcb0b9d62
mov dword [ebp - 0x178], 0
jmp 0x479d85
mov eax, dword [ebp - 0x178]
inc eax
mov dword [ebp - 0x178], eax
cmp dword [ebp - 0x178], 1
jge 0x479d9e
mov eax, dword [ebp - 0x178]
mov dword [ebp + eax*4 - 0x54], 0xfffffff8
jmp 0x479d78
mov dword [ebp - 0x98], 0
jmp 0x479db7
mov eax, dword [ebp - 0x98]
dec eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
jl 0x479eb2
mov dword [ebp - 0xfc], 0x976ff55e
mov dword [ebp - 0xbac], 0
mov dword [ebp - 0xfc], 0
jmp 0x479df1
mov eax, dword [ebp - 0xfc]
inc eax
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
jg 0x479ead
mov dword [ebp - 0x490], 0
mov byte [ebp - 0xc7], 0
push 0
push 0x3dbf
lea eax, [ebp - 0xc7]
push eax
push 0x4660
call fcn.004665ba
add esp, 0x10
cmp dword [ebp - 0xfc], 1
jg 0x479e3f
mov dword [ebp - 0x8b8], 1
jmp 0x479e46
and dword [ebp - 0x8b8], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x8b8]
sub ecx, dword [ebp + eax - 0x54]
jne 0x479e64
mov dword [ebp - 0x8c0], 1
jmp 0x479e6b
and dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp + eax*4 - 0x54]
cmp dword [ebp - 0x8c0], eax
jle 0x479e89
mov dword [ebp - 0x880], 1
jmp 0x479e90
and dword [ebp - 0x880], 0
mov eax, dword [ebp - 0x880]
mov dword [ebp - 0x490], eax
mov eax, dword [ebp - 0x490]
mov dword [ebp - 0xbac], eax
jmp 0x479de4
jmp 0x479daa
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x54], 0
jne 0x479f79
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x54], 0
jne 0x479ee6
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x54], 0
jne 0x479ee6
and dword [ebp - 0x494], 0
jmp 0x479ef0
mov dword [ebp - 0x494], 1
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x54]
imul eax, dword [ebp - 0x494]
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0x54]
jle 0x479f19
mov dword [ebp - 0x6a4], 1
jmp 0x479f20
and dword [ebp - 0x6a4], 0
cmp dword [ebp - 0x6a4], 0xbe8
je 0x479f38
mov dword [ebp - 0x49c], 1
jmp 0x479f3f
and dword [ebp - 0x49c], 0
cmp dword [ebp - 0x49c], 0x1f56
jge 0x479f57
mov dword [ebp - 0x7ac], 1
jmp 0x479f5e
and dword [ebp - 0x7ac], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x7ac]
sub ecx, dword [ebp + eax - 0x54]
jne 0x479f79
and dword [ebp - 0x4a4], 0
jmp 0x479f83
mov dword [ebp - 0x4a4], 1
mov dword [ebp - 0x440], 0x56e3
mov eax, dword [ebp - 0x440]
sub eax, dword [ebp - 0x4a4]
sub eax, 0xffff
cmp eax, 0xfffffff8
jbe 0x479faf
mov dword [ebp - 0xbb4], 1
jmp 0x479fb6
and dword [ebp - 0xbb4], 0
cmp dword [ebp - 0x440], 0
jne 0x479fd5
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x54], 0
jne 0x479fd5
and dword [ebp - 0x6ac], 0
jmp 0x479fdf
mov dword [ebp - 0x6ac], 1
mov dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0x6ac]
jge 0x47a003
mov dword [ebp - 0x4ac], 1
jmp 0x47a00a
and dword [ebp - 0x4ac], 0
mov eax, dword [ebp - 0x4ac]
mov dword [ebp - 0x990], eax
mov dword [ebp - 0xfc0], 0xa4a12b57
push 2
lea ecx, [ebp - 0xbc4]
call fcn.00409c99
push 0
lea eax, [ebp - 0xed8]
push eax
push 0x38b7
push 0
lea eax, [ebp - 0xbc4]
push eax
push 1
call fcn.00464036
add esp, 0x18
push 1
lea ecx, [ebp - 0xbc4]
call fcn.00409d87
and dword [eax], 0
jmp 0x47a084
push 1
lea ecx, [ebp - 0xbc4]
call fcn.00409d87
mov dword [ebp - 0x8bc], eax
mov eax, dword [ebp - 0x8bc]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x8bc]
mov dword [ecx], eax
push 1
lea ecx, [ebp - 0xbc4]
call fcn.00409d87
cmp dword [eax], 2
jne 0x47a0bf
push 0
push 0x3bc2
push 0x3ae5
push 0x6829
push 0x579a
push 0x12b0
push 1
push 1
call fcn.0045eb65
add esp, 0x20
jmp 0x47a060
lea ecx, [ebp - 0xbc4]
call fcn.00409d6b
mov dword [ebp - 0x10d4], 0xd4914d2e
mov dword [ebp - 0x3d0], 0
mov dword [ebp - 0x8e4], 0xba1a4d63
mov dword [ebp - 0x6b4], 0
mov dword [ebp - 0xaf4], 0xfffffffe
mov dword [ebp - 0xee0], 1
mov dword [ebp - 0x324], 0
jmp 0x47a11f
mov eax, dword [ebp - 0x324]
inc eax
mov dword [ebp - 0x324], eax
cmp dword [ebp - 0x324], 2
jge 0x47a13b
mov eax, dword [ebp - 0x324]
mov dword [ebp + eax*4 - 0xe48], 0x7928fbc7
jmp 0x47a112
mov dword [ebp - 0x7b4], 0x4153
mov dword [ebp - 0x8ec], 0xad02a0
cmp dword [ebp - 0x7b4], 0x4499
jle 0x47a209
and dword [ebp - 0x188], 0
jmp 0x47a175
mov eax, dword [ebp - 0x188]
inc eax
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x188], 0x3b9e
jge 0x47a209
and dword [ebp - 0x180], 0
jmp 0x47a19b
mov eax, dword [ebp - 0x180]
inc eax
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0x2878
jge 0x47a204
and dword [ebp - 0x29c], 0
jmp 0x47a1bd
mov eax, dword [ebp - 0x29c]
inc eax
mov dword [ebp - 0x29c], eax
cmp dword [ebp - 0x29c], 0x62d8
jge 0x47a202
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x188]
shl eax, cl
cdq
mov dword [ebp - 0x9dc], eax
mov dword [ebp - 0x9d8], edx
push dword [ebp - 0x9d8]
push dword [ebp - 0x9dc]
mov ecx, 0xae4c58
call fcn.00409a6e
jmp 0x47a1b0
jmp 0x47a18e
jmp 0x47a168
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0xfd0], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xe48]
mov dword [ebp - 0x8e4], eax
mov eax, dword [ebp - 0x3d0]
sub eax, dword [ebp - 0x3d0]
cmp eax, 0xad43
jl 0x47a247
mov dword [ebp - 0x4b4], 1
jmp 0x47a24e
and dword [ebp - 0x4b4], 0
mov eax, dword [ebp - 0x4b4]
mov dword [ebp - 0x6b4], eax
cmp dword [ebp - 0x6b4], 0xdf1febae
jae 0x47a272
mov dword [ebp - 0x4bc], 1
jmp 0x47a279
and dword [ebp - 0x4bc], 0
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0xaf4], eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0x7b4], 0x3fca
jge 0x47a2a8
mov edx, dword [ebp - 0x8ec]
mov ecx, 0xae4c58
call fcn.0040c2f7
jmp 0x47a2c4
or dword [ebp - 4], 0xffffffff
jmp 0x47a2ce
mov dword [ebp - 0xee8], 9
mov dword [ebp - 0x104], 0xffffffff
push 1
lea ecx, [ebp - 0xd88]
call fcn.00409c99
mov dword [ebp - 0xb00], 0x1aae4b9
lea eax, [ebp - 0xd88]
push eax
push 1
lea eax, [ebp - 0x1078]
push eax
push 0x15eb
push 0x63c0
push 0
call fcn.0045e90b
add esp, 0x18
mov dword [ebp - 0x4c4], 0x2937
mov dword [ebp - 0xc5c], 0xad0320
cmp dword [ebp - 0x4c4], 0x29a0
jle 0x47a401
push 0
push 0x16fe
call dword [0xae8140]
and dword [ebp - 0x36c], 0
jmp 0x47a364
mov eax, dword [ebp - 0x36c]
inc eax
mov dword [ebp - 0x36c], eax
cmp dword [ebp - 0x36c], 0x1c85
jge 0x47a3f9
and dword [ebp - 0x190], 0
jmp 0x47a38a
mov eax, dword [ebp - 0x190]
inc eax
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0x8022
jge 0x47a3f4
and dword [ebp - 0x2a4], 0
jmp 0x47a3ac
mov eax, dword [ebp - 0x2a4]
inc eax
mov dword [ebp - 0x2a4], eax
cmp dword [ebp - 0x2a4], 0x42f8
jge 0x47a3f2
mov eax, dword [ebp - 0x36c]
cdq
idiv dword [ebp - 0x190]
xor edx, dword [ebp - 0x2a4]
mov eax, edx
cdq
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9e4], edx
push dword [ebp - 0x9e4]
push dword [ebp - 0x9e8]
mov ecx, 0xae4c58
call fcn.00409a6e
jmp 0x47a39f
jmp 0x47a37d
jmp 0x47a357
push 0
call dword [0xae8298]
mov dword [ebp - 4], 6
cmp dword [ebp - 0x4c4], 0x257c
jge 0x47a424
mov edx, dword [ebp - 0xc5c]
mov ecx, 0xae4c58
call fcn.0040c2f7
jmp 0x47a440
or dword [ebp - 4], 0xffffffff
jmp 0x47a44a
mov dword [ebp - 0x104], 0
jmp 0x47a463
mov eax, dword [ebp - 0x104]
inc eax
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 8
jg 0x47a4fa
mov dword [ebp - 0x11c], 3
mov dword [ebp - 0x8f4], 0
mov dword [ebp - 0x11c], 0
jmp 0x47a49d
mov eax, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
jg 0x47a4f5
push 0
lea eax, [ebp - 0xd88]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x8f4]
push eax
push 0x3871
call fcn.00482985
add esp, 0x14
mov byte [ebp - 0x99], 0
push 0x34d5
push 1
push 0x608e
push 0x2679
lea eax, [ebp - 0x99]
push eax
push 0
call fcn.0048ed66
add esp, 0x18
jmp 0x47a490
jmp 0x47a456
push 0
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0xb00]
push eax
call fcn.004661cc
add esp, 0xc
lea ecx, [ebp - 0xd88]
call fcn.00409d6b
mov dword [ebp - 0x8fc], 6
push 0x7fcc
push 0x70ac
push 0
push 0x3304
push 0x2b39
call fcn.0048e66b
add esp, 0x14
mov dword [ebp - 0x6bc], 0x3f48
mov dword [ebp - 0xc1c], 0xad0380
cmp dword [ebp - 0x6bc], 0x4160
jle 0x47a5e4
and dword [ebp - 0x198], 0
jmp 0x47a57b
mov eax, dword [ebp - 0x198]
inc eax
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0x388c
jge 0x47a5dc
and dword [ebp - 0x32c], 0
jmp 0x47a59d
mov eax, dword [ebp - 0x32c]
inc eax
mov dword [ebp - 0x32c], eax
cmp dword [ebp - 0x32c], 0x1a24
jge 0x47a5da
mov eax, dword [ebp - 0x198]
sub eax, dword [ebp - 0x32c]
cdq
mov dword [ebp - 0x9f4], eax
mov dword [ebp - 0x9f0], edx
push dword [ebp - 0x9f0]
push dword [ebp - 0x9f4]
mov ecx, 0xae4c58
call fcn.00409a6e
jmp 0x47a590
jmp 0x47a56e
push 0
call dword [0xae8424]
push 0
lea eax, [ebp - 0x8fc]
push eax
call fcn.00473de5
pop ecx
pop ecx
mov dword [ebp - 4], 8
cmp dword [ebp - 0x6bc], 0x3d44
jge 0x47a617
mov edx, dword [ebp - 0xc1c]
mov ecx, 0xae4c58
call fcn.0040c2f7
jmp 0x47a633
or dword [ebp - 4], 0xffffffff
jmp 0x47a63d
mov dword [ebp - 0x1b0], 0xb65720b9
mov dword [ebp - 0x4cc], 0x1c75
mov dword [ebp - 0x904], 0xad03a0
cmp dword [ebp - 0x4cc], 0x1f56
jle 0x47a71a
and dword [ebp - 0x1a8], 0
jmp 0x47a681
mov eax, dword [ebp - 0x1a8]
inc eax
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0x3918
jge 0x47a714
and dword [ebp - 0x1a0], 0
jmp 0x47a6a7
mov eax, dword [ebp - 0x1a0]
inc eax
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0x7730
jge 0x47a70f
and dword [ebp - 0x2ac], 0
jmp 0x47a6c9
mov eax, dword [ebp - 0x2ac]
inc eax
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 0x316d
jge 0x47a70d
mov eax, dword [ebp - 0x1a0]
imul eax, dword [ebp - 0x2ac]
xor eax, dword [ebp - 0x1a8]
cdq
mov dword [ebp - 0xa00], eax
mov dword [ebp - 0x9fc], edx
push dword [ebp - 0x9fc]
push dword [ebp - 0xa00]
mov ecx, 0xae4c58
call fcn.00409a6e
jmp 0x47a6bc
jmp 0x47a69a
jmp 0x47a674
call dword [0xae8108]
mov dword [ebp - 0xb0c], 0x3dfad5be
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x4cc], 0x18db
jge 0x47a747
mov edx, dword [ebp - 0x904]
mov ecx, 0xae4c58
call fcn.0040c2f7
jmp 0x47a763
or dword [ebp - 4], 0xffffffff
jmp 0x47a76d
mov dword [ebp - 0xef0], 0xcf1c
mov dword [ebp - 0x3ac], 0
jmp 0x47a790
mov eax, dword [ebp - 0x3ac]
inc eax
mov dword [ebp - 0x3ac], eax
cmp dword [ebp - 0x3ac], 3
jge 0x47a7ac
mov eax, dword [ebp - 0x3ac]
mov dword [ebp + eax*4 - 0x834], 0x34bf8f0a
jmp 0x47a783
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x834]
mov dword [ebp - 0xfe0], eax
push 4
pop eax
shl eax, 0
push 4
pop ecx
shl ecx, 1
mov ecx, dword [ebp + ecx - 0x834]
cmp dword [ebp + eax - 0x834], ecx
jne 0x47a7e5
mov dword [ebp - 0x83c], 1
jmp 0x47a7ec
and dword [ebp - 0x83c], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x834]
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x834]
add ecx, dword [ebp - 0x83c]
imul eax, ecx
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0xef8], eax
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x834]
mov dword [ebp - 0x10b8], eax
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x834]
cmp dword [ebp - 0x1b0], eax
jle 0x47a853
mov dword [ebp - 0x4d4], 1
jmp 0x47a85a
and dword [ebp - 0x4d4], 0
mov eax, dword [ebp - 0x4d4]
inc eax
push 4
pop ecx
shl ecx, 1
cmp eax, dword [ebp + ecx - 0x834]
jne 0x47a87b
mov dword [ebp - 0x6c4], 1
jmp 0x47a882
and dword [ebp - 0x6c4], 0
cmp dword [ebp - 0x6c4], 0xf43b
jl 0x47a89a
mov dword [ebp - 0x4dc], 1
jmp 0x47a8a1
and dword [ebp - 0x4dc], 0
mov eax, dword [ebp - 0x4dc]
mov dword [ebp - 0xb0c], eax
lea eax, [ebp - 0x1b0]
push eax
push 0
push 0
call fcn.00463490
add esp, 0xc
push 4
lea ecx, [ebp - 0x480]
call fcn.00409c99
mov dword [ebp - 0x18], 8
mov dword [ebp - 0xf4], 0x759951ea
mov dword [ebp - 0x12c], 0xcbeb969
mov dword [ebp - 0xb18], 0xc86695cd
mov dword [ebp - 0x460], 0x4b52dd86
mov dword [ebp - 0x7bc], 0xf7e
mov dword [ebp - 0x90c], 0xad03f0
cmp dword [ebp - 0x7bc], 0x1021
jle 0x47aa0a
push 0
push 0
push 0
push 0
call dword [0xae8370]
and dword [ebp - 0x2b4], 0
jmp 0x47a944
mov eax, dword [ebp - 0x2b4]
inc eax
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0x7202
jge 0x47aa0a
and dword [ebp - 0x1b8], 0
jmp 0x47a96a
mov eax, dword [ebp - 0x1b8]
inc eax
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0x5141
jge 0x47aa05
and dword [ebp - 0x334], 0
jmp 0x47a990
mov eax, dword [ebp - 0x334]
inc eax
mov dword [ebp - 0x334], eax
cmp dword [ebp - 0x334], 0x22f5
jge 0x47aa00
and dword [ebp - 0x1c0], 0
jmp 0x47a9b2
mov eax, dword [ebp - 0x1c0]
inc eax
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0x2cb4
jge 0x47a9fe
mov eax, dword [ebp - 0x2b4]
cdq
idiv dword [ebp - 0x1b8]
add edx, dword [ebp - 0x334]
or edx, dword [ebp - 0x1c0]
mov eax, edx
cdq
mov dword [ebp - 0xa0c], eax
mov dword [ebp - 0xa08], edx
push dword [ebp - 0xa08]
push dword [ebp - 0xa0c]
mov ecx, 0xae4c58
call fcn.00409a6e
jmp 0x47a9a5
jmp 0x47a983
jmp 0x47a95d
jmp 0x47a937
push 2
lea ecx, [ebp - 0xd7c]
call fcn.00409c99
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x7bc], 0xbfd
jge 0x47aa3a
mov edx, dword [ebp - 0x90c]
mov ecx, 0xae4c58
call fcn.0040c2f7
jmp 0x47aa56
or dword [ebp - 4], 0xffffffff
jmp 0x47aa60
push 0
lea eax, [ebp - 0xc4c]
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.00461cbb
add esp, 0xc
lea eax, [ebp - 0xc4c]
push eax
push 0x2be8
push 0x3532
push 0
lea eax, [ebp - 0xd7c]
push eax
call fcn.0046327c
add esp, 0x14
mov dword [ebp - 0x524], 0x35bb
mov dword [ebp - 0xb24], 0xad0440
cmp dword [ebp - 0x524], 0x3691
jle 0x47ab66
and dword [ebp - 0x2bc], 0
jmp 0x47aad4
mov eax, dword [ebp - 0x2bc]
inc eax
mov dword [ebp - 0x2bc], eax
cmp dword [ebp - 0x2bc], 0x701e
jge 0x47ab66
and dword [ebp - 0x1c8], 0
jmp 0x47aafa
mov eax, dword [ebp - 0x1c8]
inc eax
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0x1407
jge 0x47ab61
and dword [ebp - 0x374], 0
jmp 0x47ab1c
mov eax, dword [ebp - 0x374]
inc eax
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x374], 0x4cce
jge 0x47ab5f
mov eax, dword [ebp - 0x2bc]
sub eax, dword [ebp - 0x1c8]
add eax, dword [ebp - 0x374]
cdq
mov dword [ebp - 0xa18], eax
mov dword [ebp - 0xa14], edx
push dword [ebp - 0xa14]
push dword [ebp - 0xa18]
mov ecx, 0xae4c58
call fcn.00409a6e
jmp 0x47ab0f
jmp 0x47aaed
jmp 0x47aac7
mov dword [ebp - 0x18], 0
jmp 0x47ab76
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jg 0x47aff9
mov dword [ebp - 0x514], 6
mov dword [ebp - 0xc24], 0x448110cb
mov dword [ebp - 0xf00], 0xffffffff
mov dword [ebp - 0x7cc], 0x73e70d28
mov dword [ebp - 0x1d0], 0
jmp 0x47abc1
mov eax, dword [ebp - 0x1d0]
inc eax
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 2
jge 0x47abdd
mov eax, dword [ebp - 0x1d0]
mov dword [ebp + eax*4 - 0xa24], 0xfffffff9
jmp 0x47abb4
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x514], eax
push dword [ebp - 0x18]
lea ecx, [ebp - 0x480]
call fcn.00409d87
cmp dword [eax], 0x7059141a
jne 0x47ac08
mov dword [ebp - 0x4e4], 1
jmp 0x47ac0f
and dword [ebp - 0x4e4], 0
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x4e4]
jne 0x47ac26
mov dword [ebp - 0x6cc], 1
jmp 0x47ac2d
and dword [ebp - 0x6cc], 0
push dword [ebp - 0x18]
lea ecx, [ebp - 0x480]
call fcn.00409d87
mov eax, dword [eax]
mov dword [ebp - 0xf4], eax
mov esi, dword [ebp - 0xf4]
push dword [ebp - 0x18]
lea ecx, [ebp - 0x480]
call fcn.00409d87
mov edi, dword [eax]
sub edi, esi
push dword [ebp - 0x18]
lea ecx, [ebp - 0x480]
call fcn.00409d87
imul edi, dword [eax]
sub edi, dword [ebp - 0x6cc]
mov dword [ebp - 0x12c], edi
mov dword [ebp - 0x12c], 0
jmp 0x47ac91
mov eax, dword [ebp - 0x12c]
dec eax
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0xfffffffb
je 0x47aff4
mov dword [ebp - 0x6dc], 0x593c8699
mov dword [ebp - 0x3e0], 0x4d91f06e
mov dword [ebp - 0x51c], 0xf13bcf59
mov dword [ebp - 0x914], 0x8670fc24
mov dword [ebp - 0xd8], 0xffffffff
push 4
lea ecx, [ebp - 0xbd4]
call fcn.00409c99
mov dword [ebp - 0x420], 0xc437ffe
mov dword [ebp - 0x7c4], 0xdc46
push 0
push 0x10a2
lea eax, [ebp - 0xbd4]
push eax
push 0x775
push 0x5ff9
lea eax, [ebp - 0xff0]
push eax
push 0x27f8
call fcn.004609aa
add esp, 0x1c
push 3
lea ecx, [ebp - 0x480]
call fcn.00409d87
cmp dword [eax], 0x4af12a83
jl 0x47ad3e
mov dword [ebp - 0x504], 1
jmp 0x47ad45
and dword [ebp - 0x504], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xa24]
mov dword [ebp - 0xf08], eax
mov eax, 0x92fb38a8
add eax, 5
cmp eax, dword [ebp - 0x7c4]
jge 0x47ad74
mov dword [ebp - 0x4ec], 1
jmp 0x47ad7b
and dword [ebp - 0x4ec], 0
cmp dword [ebp - 0x4ec], 0x38c4
jne 0x47ad93
mov dword [ebp - 0x87c], 1
jmp 0x47ad9a
and dword [ebp - 0x87c], 0
push 3
lea ecx, [ebp - 0xbd4]
call fcn.00409d87
mov ecx, dword [ebp - 0x87c]
imul ecx, dword [eax]
cmp ecx, 1
jb 0x47adc1
mov dword [ebp - 0x4f4], 1
jmp 0x47adc8
and dword [ebp - 0x4f4], 0
mov esi, dword [ebp - 0x4f4]
inc esi
push 3
lea ecx, [ebp - 0xbd4]
call fcn.00409d87
sub esi, dword [eax]
mov dword [ebp - 0x3e0], esi
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x3e0], eax
jl 0x47adfe
cmp dword [ebp - 0x18], 0
jne 0x47adfe
and dword [ebp - 0x6d4], 0
jmp 0x47ae08
mov dword [ebp - 0x6d4], 1
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x6d4]
sub ecx, dword [ebp + eax - 0xa24]
jne 0x47ae24
cmp dword [ebp - 0x460], 0
mov eax, dword [ebp - 0x420]
dec eax
mov dword [ebp - 0x420], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xa24]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd8]
neg eax
mov esi, dword [ebp - 0x420]
imul esi, eax
push dword [ebp - 0x18]
lea ecx, [ebp - 0x480]
call fcn.00409d87
cmp esi, dword [eax]
jne 0x47ae73
mov dword [ebp - 0x4fc], 1
jmp 0x47ae7a
and dword [ebp - 0x4fc], 0
mov eax, dword [ebp - 0x460]
mov eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x1080], eax
mov eax, dword [ebp - 0x7cc]
cmp dword [ebp - 0xf4], eax
jle 0x47aea6
mov dword [ebp - 0x50c], 1
jmp 0x47aead
and dword [ebp - 0x50c], 0
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x6dc], eax
mov eax, dword [ebp - 0x6dc]
cmp eax, dword [ebp - 0x50c]
jne 0x47aed3
mov dword [ebp - 0x844], 1
jmp 0x47aeda
and dword [ebp - 0x844], 0
mov eax, dword [ebp - 0x914]
imul eax, dword [ebp - 0x844]
cmp eax, dword [ebp - 0x514]
jle 0x47aefb
mov dword [ebp - 0x6e4], 1
jmp 0x47af02
and dword [ebp - 0x6e4], 0
mov eax, dword [ebp - 0x51c]
cmp dword [ebp - 0x6e4], eax
jge 0x47af1c
mov dword [ebp - 0x3d8], 1
jmp 0x47af23
and dword [ebp - 0x3d8], 0
push 1
lea ecx, [ebp - 0xd7c]
call fcn.00409d87
mov ecx, dword [ebp - 0x3d8]
mov dword [eax], ecx
mov eax, dword [ebp - 0x3d8]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xd8], 0xffffffe7
jmp 0x47af5d
mov eax, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 2
je 0x47afe4
mov dword [ebp - 0x924], 0xffffffff
mov dword [ebp - 0x91c], 0xfffffff7
push 0x1637
push 0x1b40
lea eax, [ebp - 0x51c]
push eax
lea eax, [ebp - 0xbd4]
push eax
lea eax, [ebp - 0xb18]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x91c]
push eax
push 0
lea eax, [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc24]
push eax
lea eax, [ebp - 0x480]
push eax
lea eax, [ebp - 0x460]
push eax
lea eax, [ebp - 0x924]
push eax
lea eax, [ebp - 0x3e0]
push eax
call fcn.00462349
add esp, 0x3c
jmp 0x47af50
lea ecx, [ebp - 0xbd4]
call fcn.00409d6b
jmp 0x47ac84
jmp 0x47ab6f
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x524], 0x3213
jge 0x47b01c
mov edx, dword [ebp - 0xb24]
mov ecx, 0xae4c58
call fcn.0040c2f7
jmp 0x47b038
or dword [ebp - 4], 0xffffffff
jmp 0x47b042
lea ecx, [ebp - 0xd7c]
call fcn.00409d6b
lea ecx, [ebp - 0x480]
call fcn.00409d6b
mov byte [ebp - 0xa9], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0xec], 0xeb905d09
mov dword [ebp - 0x52c], 0xffffffff
mov dword [ebp - 0x1e0], 3
mov dword [ebp - 0x6ec], 0x7206
mov dword [ebp - 0x92c], 0xad049c
cmp dword [ebp - 0x6ec], 0x7514
jle 0x47b11c
and dword [ebp - 0x2c4], 0
jmp 0x47b0ba
mov eax, dword [ebp - 0x2c4]
inc eax
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x540d
jge 0x47b11c
and dword [ebp - 0x1d8], 0
jmp 0x47b0dc
mov eax, dword [ebp - 0x1d8]
inc eax
mov dword [ebp - 0x1d8], eax
cmp dword [ebp - 0x1d8], 0x6c66
jge 0x47b11a
mov eax, dword [ebp - 0x2c4]
imul eax, dword [ebp - 0x1d8]
cdq
mov dword [ebp - 0xa30], eax
mov dword [ebp - 0xa2c], edx
push dword [ebp - 0xa2c]
push dword [ebp - 0xa30]
mov ecx, 0xae4c58
call fcn.00409a6e
jmp 0x47b0cf
jmp 0x47b0ad
mov dword [ebp - 0xe4], 0xffff
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x6ec], 0x6ec2
jge 0x47b149
mov edx, dword [ebp - 0x92c]
mov ecx, 0xae4c58
call fcn.0040c2f7
jmp 0x47b165
or dword [ebp - 4], 0xffffffff
jmp 0x47b16f
mov dword [ebp - 0x20], 0xfffffffd
jmp 0x47b17f
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x1b
je 0x47b20a
push 3
lea ecx, [ebp - 0xf9c]
call fcn.00409c99
mov dword [ebp - 0xf10], 0x526d2e85
mov dword [ebp - 0x1000], 0xf7bf48c4
mov dword [ebp - 0x33c], 0
jmp 0x47b1c3
mov eax, dword [ebp - 0x33c]
inc eax
mov dword [ebp - 0x33c], eax
cmp dword [ebp - 0x33c], 3
jge 0x47b1e2
push dword [ebp - 0x33c]
lea ecx, [ebp - 0xf9c]
call fcn.00409d87
and dword [eax], 0
jmp 0x47b1b6
push 0
push 1
call fcn.004763a5
pop ecx
pop ecx
mov eax, dword [ebp - 0x1e0]
inc eax
mov dword [ebp - 0x1e0], eax
lea ecx, [ebp - 0xf9c]
call fcn.00409d6b
jmp 0x47b178
mov dword [ebp - 0xec], 0xffffffff
mov eax, dword [ebp - 0xec]
cmp dword [ebp - 0x52c], eax
je 0x47b22e
mov dword [ebp - 0x534], 1
jmp 0x47b235
and dword [ebp - 0x534], 0
mov eax, dword [ebp - 0xe4]
sub eax, dword [ebp - 0x1e0]
je 0x47b25e
cmp dword [ebp - 0x20], 1
je 0x47b25e
cmp dword [ebp - 0x52c], 0
je 0x47b25e
mov dword [ebp - 0x8a0], 1
jmp 0x47b265
and dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a0]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x534]
test eax, eax
je 0x47b2a7
cmp dword [ebp - 0xe4], 0
je 0x47b2a7
mov byte [ebp - 0xc9], 0
push 0x6421
push 0
lea eax, [ebp - 0xc9]
push eax
call fcn.0045f937
add esp, 0xc
jmp 0x47b379
mov dword [ebp - 0x20], 3
jmp 0x47b2b7
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 5
jne 0x47b35d
mov byte [ebp - 0xa1], 0
push 0
push 0x66a3
lea eax, [ebp - 0xa1]
push eax
call fcn.00461002
add esp, 0xc
mov dword [ebp - 0xec], 0x15
jmp 0x47b2f7
mov eax, dword [ebp - 0xec]
dec eax
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 6
jge 0x47b358
mov dword [ebp - 0xe4], 0xffffffed
jmp 0x47b319
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x11
je 0x47b356
push 0
push 0x592b
call fcn.0045f5da
pop ecx
pop ecx
mov byte [ebp - 0xcb], 0
push 0x4da2
push 0
push 0xd07
lea eax, [ebp - 0xcb]
push eax
push 1
call fcn.00461bc6
add esp, 0x14
jmp 0x47b30c
jmp 0x47b2ea
jmp 0x47b2b0
push 0
lea eax, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
push 0x3275
call fcn.0045eddf
add esp, 0x14
movzx eax, byte [ebp - 0xa9]
test eax, eax
je 0x47b5f3
mov dword [ebp - 0x68], 0x1824a8c6
mov dword [ebp - 0xb30], 0
mov dword [ebp - 0x68], 0x13
jmp 0x47b3a9
mov eax, dword [ebp - 0x68]
dec eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0xfffffff9
jl 0x47b59f
mov dword [ebp - 0x1f8], 0xb1891f78
mov dword [ebp - 0x2cc], 0
jmp 0x47b3d6
mov eax, dword [ebp - 0x2cc]
inc eax
mov dword [ebp - 0x2cc], eax
cmp dword [ebp - 0x2cc], 3
jge 0x47b3f2
mov eax, dword [ebp - 0x2cc]
mov dword [ebp + eax*4 - 0x122c], 0xffffffff
jmp 0x47b3c9
mov dword [ebp - 0x6f4], 0x4c01
mov dword [ebp - 0xc78], 0xad04c0
cmp dword [ebp - 0x6f4], 0x4ebb
jle 0x47b514
and dword [ebp - 0x2d4], 0
jmp 0x47b42c
mov eax, dword [ebp - 0x2d4]
inc eax
mov dword [ebp - 0x2d4], eax
cmp dword [ebp - 0x2d4], 0x788f
jge 0x47b514
and dword [ebp - 0x1f0], 0
jmp 0x47b452
mov eax, dword [ebp - 0x1f0]
inc eax
mov dword [ebp - 0x1f0], eax
cmp dword [ebp - 0x1f0], 0x6b53
jge 0x47b50f
and dword [ebp - 0x1e8], 0
jmp 0x47b478
mov eax, dword [ebp - 0x1e8]
inc eax
mov dword [ebp - 0x1e8], eax
cmp dword [ebp - 0x1e8], 0x601a
jge 0x47b50a
and dword [ebp - 0x394], 0
jmp 0x47b49e
mov eax, dword [ebp - 0x394]
inc eax
mov dword [ebp - 0x394], eax
cmp dword [ebp - 0x394], 0x5580
jge 0x47b505
mov ecx, dword [ebp - 0x1e8]
sub ecx, dword [ebp - 0x394]
mov eax, dword [ebp - 0x1f0]
sar eax, cl
or eax, dword [ebp - 0x2d4]
cdq
mov dword [ebp - 0xa3c], eax
mov dword [ebp - 0xa38], edx
push dword [ebp - 0xa38]
push dword [ebp - 0xa3c]
lea ecx, [ebp - 0x12e0]
call fcn.00401b08
pop ecx
pop ecx
mov ecx, eax
call fcn.00409a63
push eax
call fcn.0049f827
pop ecx
lea ecx, [ebp - 0x12e0]
call fcn.00409a59
jmp 0x47b491
jmp 0x47b46b
jmp 0x47b445
jmp 0x47b41f
mov dword [ebp - 0x1f8], 2
jmp 0x47b52d
mov eax, dword [ebp - 0x1f8]
dec eax
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
jl 0x47b555
mov byte [ebp - 0xcd], 0
push 0
push 0x227e
lea eax, [ebp - 0xcd]
push eax
call fcn.004789f5
add esp, 0xc
jmp 0x47b520
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x6f4], 0x493e
jge 0x47b574
push dword [ebp - 0xc78]
call fcn.0049f827
pop ecx
jmp 0x47b590
or dword [ebp - 4], 0xffffffff
jmp 0x47b59a
jmp 0x47b3a2
mov dword [ebp - 0x68], 0x17
jmp 0x47b5af
mov eax, dword [ebp - 0x68]
dec eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0xfffffff8
je 0x47b5eb
mov dword [ebp - 0x934], 0xb000e2e4
push 1
push 0x2394
push 0x49a5
lea eax, [ebp - 0x934]
push eax
lea eax, [ebp - 0xb30]
push eax
lea eax, [ebp - 0x68]
push eax
push 0
push 0
call fcn.0045eb65
add esp, 0x20
jmp 0x47b5a8
push 0
call fcn.00471166
pop ecx
mov eax, dword [ebp - 0x93c]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x7d4], 0x9d29
mov dword [ebp - 0x544], 0x45fe46c2
mov dword [ebp - 0x6fc], 0x10c13fe6
mov dword [ebp - 0x944], 1
push 1
lea ecx, [ebp - 0xd94]
call fcn.00409c99
lea eax, [ebp - 0xf18]
push eax
lea eax, [ebp - 0xd94]
push eax
push 0x7377
push 0
call fcn.004610bf
add esp, 0x10
lea eax, [ebp - 0x544]
push eax
lea eax, [ebp - 0x7d4]
push eax
lea eax, [ebp - 0x6fc]
push eax
push 0
push 0x24e2
call fcn.00471289
add esp, 0x14
mov dword [ebp - 0x53c], 0x4406
mov dword [ebp - 0xc2c], 0xad0538
cmp dword [ebp - 0x53c], 0x44c1
jle 0x47b763
and dword [ebp - 0x13c], 0
jmp 0x47b6b2
mov eax, dword [ebp - 0x13c]
inc eax
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0x6de4
jge 0x47b763
and dword [ebp - 0x344], 0
jmp 0x47b6d8
mov eax, dword [ebp - 0x344]
inc eax
mov dword [ebp - 0x344], eax
cmp dword [ebp - 0x344], 0x46ce
jge 0x47b75e
and dword [ebp - 0x200], 0
jmp 0x47b6fa
mov eax, dword [ebp - 0x200]
inc eax
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0xaef
jge 0x47b759
mov eax, dword [ebp - 0x344]
sub eax, dword [ebp - 0x200]
and eax, dword [ebp - 0x13c]
cdq
mov dword [ebp - 0xa48], eax
mov dword [ebp - 0xa44], edx
push dword [ebp - 0xa44]
push dword [ebp - 0xa48]
lea ecx, [ebp - 0x119c]
call fcn.00401b08
pop ecx
pop ecx
mov ecx, eax
call fcn.00409a63
push eax
call fcn.0049f827
pop ecx
lea ecx, [ebp - 0x119c]
call fcn.00409a59
jmp 0x47b6ed
jmp 0x47b6cb
jmp 0x47b6a5
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x53c], 0x419d
jge 0x47b782
push dword [ebp - 0xc2c]
call fcn.0049f827
pop ecx
jmp 0x47b79e
or dword [ebp - 4], 0xffffffff
jmp 0x47b7a8
lea eax, [ebp - 0x7d4]
push eax
lea eax, [ebp - 0xd94]
push eax
lea eax, [ebp - 0x944]
push eax
push 0
lea eax, [ebp - 0x544]
push eax
push 0
lea eax, [ebp - 0x6fc]
push eax
call fcn.00471eb4
add esp, 0x1c
lea ecx, [ebp - 0xd94]
call fcn.00409d6b
cmp dword [ebp - 0x444], 0
jle 0x481f91
mov dword [ebp - 0x37c], 0x540d7f82
mov dword [ebp - 0x94c], 0xffffffff
mov dword [ebp - 0x54c], 0x581d
mov dword [ebp - 0xb3c], 0xad0550
cmp dword [ebp - 0x54c], 0x59cf
jle 0x47b8a8
and dword [ebp - 0x2dc], 0
jmp 0x47b83d
mov eax, dword [ebp - 0x2dc]
inc eax
mov dword [ebp - 0x2dc], eax
cmp dword [ebp - 0x2dc], 0x3cc
jge 0x47b8a0
and dword [ebp - 0x208], 0
jmp 0x47b85f
mov eax, dword [ebp - 0x208]
inc eax
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0x418
jge 0x47b89e
mov eax, dword [ebp - 0x2dc]
mov ecx, dword [ebp - 0x208]
sar eax, cl
cdq
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa50], edx
push dword [ebp - 0xa50]
push dword [ebp - 0xa54]
mov ecx, 0xae4c58
call fcn.00409a6e
jmp 0x47b852
jmp 0x47b830
push 0
call dword [0xae8250]
mov dword [ebp - 0xc54], 0xfffffffa
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x54c], 0x56ce
jge 0x47b8d5
mov edx, dword [ebp - 0xb3c]
mov ecx, 0xae4c58
call fcn.0040c2f7
jmp 0x47b8f1
or dword [ebp - 4], 0xffffffff
jmp 0x47b8fb
mov byte [ebp - 0xcc], 0
movzx eax, byte [ebp - 0xcc]
test eax, eax
je 0x47b92a
push 0
push 0x6cf6
push 0x2ff7
push 0x76b9
push 0
push 1
call fcn.00484734
add esp, 0x18
mov dword [ebp - 0x37c], 0x14
jmp 0x47b943
mov eax, dword [ebp - 0x37c]
dec eax
mov dword [ebp - 0x37c], eax
cmp dword [ebp - 0x37c], 0xffffffe9
jne 0x47ba52
mov dword [ebp - 0x704], 8
mov dword [ebp - 0x210], 0
jmp 0x47b973
mov eax, dword [ebp - 0x210]
inc eax
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 2
jge 0x47b98f
mov eax, dword [ebp - 0x210]
mov dword [ebp + eax*4 - 0xe54], 0x56160cbe
jmp 0x47b966
push 0
push 0x4519
call fcn.00460990
pop ecx
pop ecx
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0xe54], 0x17059141
mov eax, 0x17059141
cmp eax, 3
jae 0x47b9c4
mov dword [ebp - 0x84c], 1
jmp 0x47b9cb
and dword [ebp - 0x84c], 0
cmp dword [ebp - 0x84c], 0xea0d018d
jae 0x47b9e3
mov dword [ebp - 0x554], 1
jmp 0x47b9ea
and dword [ebp - 0x554], 0
mov eax, dword [ebp - 0x704]
cmp eax, dword [ebp - 0x554]
je 0x47ba04
mov dword [ebp - 0x55c], 1
jmp 0x47ba0b
and dword [ebp - 0x55c], 0
mov eax, dword [ebp - 0x704]
add eax, dword [ebp - 0x55c]
imul eax, eax, 0x44c3
test eax, eax
je 0x47ba36
cmp dword [ebp - 0x94c], 0
je 0x47ba36
mov dword [ebp - 0x7dc], 1
jmp 0x47ba3d
and dword [ebp - 0x7dc], 0
imul eax, dword [ebp - 0x7dc], 0xb9da
mov dword [ebp - 0xc54], eax
jmp 0x47b936
mov dword [ebp - 0x2e4], 0x68ec0ae9
mov dword [ebp - 0x10d8], 0xfffffff7
push 3
lea ecx, [ebp - 0xfac]
call fcn.00409c99
mov dword [ebp - 0xf20], 0x17779a7
mov dword [ebp - 0xb48], 0xc6a37d7c
lea eax, [ebp - 0x1010]
push eax
push 0x422e
push 1
push 0
push 0x64ba
lea eax, [ebp - 0xfac]
push eax
call fcn.004632a4
add esp, 0x18
mov dword [ebp - 0x2e4], 0xf
jmp 0x47bac4
mov eax, dword [ebp - 0x2e4]
inc eax
mov dword [ebp - 0x2e4], eax
cmp dword [ebp - 0x2e4], 0x1a
jle 0x47bb73
mov dword [ebp - 0xd1c], 0xd386cce5
mov dword [ebp - 0xd18], 0xd386cce5
mov dword [ebp - 0xd14], 0xd386cce5
mov dword [ebp - 0xd10], 0xd386cce5
lea ecx, [ebp - 0x451]
call fcn.00409d96
push eax
lea eax, [ebp - 0xd0c]
push eax
lea eax, [ebp - 0xd1c]
push eax
lea ecx, [ebp - 0x1174]
call fcn.00409d99
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x1100]
call fcn.00409d45
mov dword [ebp - 0x954], 0xf47a6de
push 1
push 0x1e33
push 0
lea eax, [ebp - 0x954]
push eax
call fcn.00476d1e
add esp, 0x10
lea eax, [ebp - 0xb48]
push eax
push 1
push 1
call fcn.0045e0d7
add esp, 0xc
lea ecx, [ebp - 0x1100]
call fcn.00409d6b
jmp 0x47bab7
push 0
push 0x1e34
call fcn.00460979
pop ecx
pop ecx
lea ecx, [ebp - 0xfac]
call fcn.00409d6b
mov dword [ebp - 0x70c], 1
mov dword [ebp - 0x884], 0xbc999589
mov dword [ebp - 0xdc], 0xfffffffd
mov dword [ebp - 0x95c], 2
mov dword [ebp - 0x124], 0xfffffffe
mov dword [ebp - 0xf28], 0x9b964069
mov dword [ebp - 0x1088], 0xe8ca4045
mov dword [ebp - 0xf30], 0xa9025b0d
mov dword [ebp - 0x1020], 0xffffffff
mov dword [ebp - 0xf38], 0x8c6aee34
push 1
lea ecx, [ebp - 0xdac]
call fcn.00409c99
mov dword [ebp - 0x218], 0
jmp 0x47bc16
mov eax, dword [ebp - 0x218]
inc eax
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 1
jge 0x47bc38
push dword [ebp - 0x218]
lea ecx, [ebp - 0xdac]
call fcn.00409d87
mov dword [eax], 0xfffffffa
jmp 0x47bc09
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0x70c]
push eax
lea eax, [ebp - 0x884]
push eax
lea eax, [ebp - 0x95c]
push eax
push 0
call fcn.004636e6
add esp, 0x18
mov dword [ebp - 0x57c], 0x44dc
mov dword [ebp - 0x974], 0xad05ac
cmp dword [ebp - 0x57c], 0x4797
jle 0x47bd65
and dword [ebp - 0x2ec], 0
jmp 0x47bc9f
mov eax, dword [ebp - 0x2ec]
inc eax
mov dword [ebp - 0x2ec], eax
cmp dword [ebp - 0x2ec], 0x194a
jge 0x47bd65
and dword [ebp - 0x34c], 0
jmp 0x47bcc5
mov eax, dword [ebp - 0x34c]
inc eax
mov dword [ebp - 0x34c], eax
cmp dword [ebp - 0x34c], 0x4668
jge 0x47bd60
and dword [ebp - 0x220], 0
jmp 0x47bceb
mov eax, dword [ebp - 0x220]
inc eax
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0x703e
jge 0x47bd5b
and dword [ebp - 0x228], 0
jmp 0x47bd0d
mov eax, dword [ebp - 0x228]
inc eax
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0x755d
jge 0x47bd59
mov eax, dword [ebp - 0x34c]
cdq
idiv dword [ebp - 0x220]
and edx, dword [ebp - 0x2ec]
xor edx, dword [ebp - 0x228]
mov eax, edx
cdq
mov dword [ebp - 0xa60], eax
mov dword [ebp - 0xa5c], edx
push dword [ebp - 0xa5c]
push dword [ebp - 0xa60]
mov ecx, 0xae4c58
call fcn.00409a6e
jmp 0x47bd00
jmp 0x47bcde
jmp 0x47bcb8
jmp 0x47bc92
mov dword [ebp - 0xdc], 0
jmp 0x47bd7e
mov eax, dword [ebp - 0xdc]
dec eax
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0xfffffffb
jge 0x47c15a
mov dword [ebp - 0xd30], 0xffff
mov dword [ebp - 0xd2c], 0xffff
mov dword [ebp - 0xd28], 0xffff
mov dword [ebp - 0xd24], 0xffff
lea ecx, [ebp - 0x3c5]
call fcn.00409d96
push eax
lea eax, [ebp - 0xd20]
push eax
lea eax, [ebp - 0xd30]
push eax
lea ecx, [ebp - 0x1184]
call fcn.00409d99
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0xcb4]
call fcn.00409d45
mov dword [ebp - 0x10cc], 0xfffffff8
mov dword [ebp - 0xf40], 1
mov dword [ebp - 0x1030], 0xfffffff9
mov dword [ebp - 0xf48], 0xa9c1c73b
mov dword [ebp - 0xc3c], 0xfffffffd
push 4
lea ecx, [ebp - 0xfcc]
call fcn.00409c99
mov dword [ebp - 0x564], 0x1f9f
mov dword [ebp - 0xc34], 0xad05c4
cmp dword [ebp - 0x564], 0x2081
jle 0x47bef4
and dword [ebp - 0x3a4], 0
jmp 0x47be61
mov eax, dword [ebp - 0x3a4]
inc eax
mov dword [ebp - 0x3a4], eax
cmp dword [ebp - 0x3a4], 0x7fe
jge 0x47bef4
and dword [ebp - 0x230], 0
jmp 0x47be87
mov eax, dword [ebp - 0x230]
inc eax
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 0x1e5
jge 0x47beef
and dword [ebp - 0x2f4], 0
jmp 0x47bea9
mov eax, dword [ebp - 0x2f4]
inc eax
mov dword [ebp - 0x2f4], eax
cmp dword [ebp - 0x2f4], 0xc3f
jge 0x47beed
mov eax, dword [ebp - 0x3a4]
imul eax, dword [ebp - 0x230]
xor eax, dword [ebp - 0x2f4]
cdq
mov dword [ebp - 0xa6c], eax
mov dword [ebp - 0xa68], edx
push dword [ebp - 0xa68]
push dword [ebp - 0xa6c]
mov ecx, 0xae4c58
call fcn.00409a6e
jmp 0x47be9c
jmp 0x47be7a
jmp 0x47be54
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x564], 0x1e4c
jge 0x47bf17
mov edx, dword [ebp - 0xc34]
mov ecx, 0xae4c58
call fcn.0040c2f7
jmp 0x47bf33
or dword [ebp - 4], 0xffffffff
jmp 0x47bf3d
mov dword [ebp - 0x238], 0
jmp 0x47bf56
mov eax, dword [ebp - 0x238]
inc eax
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 4
jge 0x47bf78
push dword [ebp - 0x238]
lea ecx, [ebp - 0xfcc]
call fcn.00409d87
mov dword [eax], 0xfffffffe
jmp 0x47bf49
push 0
lea ecx, [ebp - 0xcb4]
call fcn.00409d87
cmp dword [eax], 0
je 0x47bfd7
cmp dword [ebp - 0x70c], 0
jne 0x47bf98
xor eax, eax
inc eax
je 0x47bfb6
push 2
lea ecx, [ebp - 0xcb4]
call fcn.00409d87
cmp dword [eax], 0
je 0x47bfb6
mov dword [ebp - 0x56c], 1
jmp 0x47bfbd
and dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0xdc]
cmp dword [ebp - 0x56c], eax
jg 0x47bfd7
mov dword [ebp - 0x574], 1
jmp 0x47bfde
and dword [ebp - 0x574], 0
push 2
lea ecx, [ebp - 0xcb4]
call fcn.00409d87
mov ecx, dword [ebp - 0x884]
sub ecx, dword [ebp - 0x574]
cmp dword [eax], ecx
jl 0x47c00e
push 0x74b8
push 0
call fcn.004670f7
pop ecx
pop ecx
jmp 0x47c13f
mov dword [ebp - 0x964], 2
mov dword [ebp - 0x1054], 0xeee83ade
mov dword [ebp - 0xf50], 0xfffffffe
mov dword [ebp - 0x1040], 0x851f08a1
mov dword [ebp - 0xf58], 0x3e5f8859
mov dword [ebp - 0x105c], 0xbde5156b
push 4
lea ecx, [ebp - 0xfbc]
call fcn.00409c99
mov dword [ebp - 0x428], 0
push 0
lea eax, [ebp - 0xfbc]
push eax
lea eax, [ebp - 0xf60]
push eax
call fcn.004623cc
add esp, 0xc
mov dword [ebp - 0x124], 0
jmp 0x47c092
mov eax, dword [ebp - 0x124]
inc eax
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 3
jg 0x47c0d9
push 0x694c
push 0x2763
push 0x64a4
push 0x3a30
lea eax, [ebp - 0x964]
push eax
push 0x4df4
push 0
push 0x65d3
push 0x2642
call fcn.0045fde8
add esp, 0x24
push 0
call fcn.00479571
pop ecx
jmp 0x47c085
mov eax, dword [ebp - 0x428]
mov dword [ebp - 0xb54], eax
push 0
lea ecx, [ebp - 0xdac]
call fcn.00409d87
mov eax, dword [eax]
mov dword [ebp - 0x96c], eax
mov eax, dword [ebp - 0x428]
dec eax
mov dword [ebp - 0x428], eax
mov eax, dword [ebp - 0xb54]
cmp eax, dword [ebp - 0x96c]
jge 0x47c121
mov dword [ebp - 0x714], 1
jmp 0x47c128
and dword [ebp - 0x714], 0
mov eax, dword [ebp - 0x714]
mov dword [ebp - 0xc3c], eax
lea ecx, [ebp - 0xfbc]
call fcn.00409d6b
lea ecx, [ebp - 0xfcc]
call fcn.00409d6b
lea ecx, [ebp - 0xcb4]
call fcn.00409d6b
jmp 0x47bd71
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x57c], 0x4243
jge 0x47c17d
mov edx, dword [ebp - 0x974]
mov ecx, 0xae4c58
call fcn.0040c2f7
jmp 0x47c199
or dword [ebp - 4], 0xffffffff
jmp 0x47c1a3
lea ecx, [ebp - 0xdac]
call fcn.00409d6b
mov dword [ebp - 0x654], 0x9d29
mov dword [ebp - 0x64c], 0x45fe46c2
mov dword [ebp - 0x40], 0
mov dword [ebp - 0xe2c], 0x7d96711d
mov dword [ebp - 0xe34], 0xfffffffc
push 2
lea ecx, [ebp - 0xfdc]
call fcn.00409c99
mov dword [ebp - 0xe3c], 0
mov dword [ebp - 0x7e4], 0x4604
mov dword [ebp - 0xb60], 0xad05e0
cmp dword [ebp - 0x7e4], 0x49ad
jle 0x47c2ae
and dword [ebp - 0x354], 0
jmp 0x47c22e
mov eax, dword [ebp - 0x354]
inc eax
mov dword [ebp - 0x354], eax
cmp dword [ebp - 0x354], 0x3f26
jge 0x47c2ae
and dword [ebp - 0x240], 0
jmp 0x47c250
mov eax, dword [ebp - 0x240]
inc eax
mov dword [ebp - 0x240], eax
cmp dword [ebp - 0x240], 0x4388
jge 0x47c2a9
mov eax, dword [ebp - 0x354]
add eax, dword [ebp - 0x240]
cdq
mov dword [ebp - 0xa78], eax
mov dword [ebp - 0xa74], edx
push dword [ebp - 0xa74]
push dword [ebp - 0xa78]
lea ecx, [ebp - 0x12b0]
call fcn.00401b08
pop ecx
pop ecx
mov ecx, eax
call fcn.00409a63
push eax
call fcn.0049f827
pop ecx
lea ecx, [ebp - 0x12b0]
call fcn.00409a59
jmp 0x47c243
jmp 0x47c221
mov dword [ebp - 0xe94], 1
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0x7e4], 0x4279
jge 0x47c2d7
push dword [ebp - 0xb60]
call fcn.0049f827
pop ecx
jmp 0x47c2f3
or dword [ebp - 4], 0xffffffff
jmp 0x47c2fd
mov dword [ebp - 0x984], 0xfffffff6
push 0
push 0x3c78
lea eax, [ebp - 0xfdc]
push eax
lea eax, [ebp - 0xe9c]
push eax
call fcn.00467753
add esp, 0x10
mov dword [ebp - 0x40], 0
jmp 0x47c334
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 3
je 0x47c46e
mov dword [ebp - 0xa0], 0x4ad37400
mov dword [ebp - 0x3e8], 8
cmp dword [ebp - 0x40], 0
jne 0x47c3b0
mov dword [ebp - 0xa0], 1
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0xa0], eax
jne 0x47c379
mov dword [ebp - 0x584], 1
jmp 0x47c380
and dword [ebp - 0x584], 0
mov eax, dword [ebp - 0x584]
sub eax, dword [ebp - 0x40]
jne 0x47c3b0
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x3e8], eax
cmp dword [ebp - 0x3e8], 0
jne 0x47c3a7
push 0xfffffffffffffffe
pop eax
test eax, eax
je 0x47c3b0
and dword [ebp - 0x71c], 0
jmp 0x47c3ba
mov dword [ebp - 0x71c], 1
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x71c], eax
jne 0x47c41a
mov dword [ebp - 0xa0], 0
jmp 0x47c3de
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x23
jl 0x47c3f1
push 0
call fcn.00474482
pop ecx
jmp 0x47c3d1
mov byte [ebp - 0xb1], 0
push 0x5986
push 0x5c9b
push 0x2031
lea eax, [ebp - 0xb1]
push eax
push 0
call fcn.0046d7b6
add esp, 0x14
jmp 0x47c469
mov dword [ebp - 0x97c], 0xfffffffe
mov dword [ebp - 0xbfc], 1
lea eax, [ebp - 0x97c]
push eax
push 0x4539
push 0x5fae
lea eax, [ebp - 0xbfc]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x3e8]
push eax
push 0
call fcn.00483c39
add esp, 0x1c
push 0x6e5f
push 0
call fcn.004674bb
pop ecx
pop ecx
jmp 0x47c32d
push 0x3856
lea eax, [ebp - 0x984]
push eax
push 1
push 0x266e
push 0x4d23
push 0
push 0x3af5
call fcn.0045e9de
add esp, 0x1c
lea ecx, [ebp - 0xfdc]
call fcn.00409d6b
mov dword [ebp - 0x86c], 0x10c13fe6
push 1
lea ecx, [ebp - 0xbe4]
call fcn.00409c99
lea eax, [ebp - 0xbe4]
push eax
lea eax, [ebp - 0xea4]
push eax
push 0x5d9b
push 0
call fcn.00461cf4
add esp, 0x10
push 0
lea ecx, [ebp - 0xbe4]
call fcn.00409d87
and dword [eax], 0
jmp 0x47c50a
push 0
lea ecx, [ebp - 0xbe4]
call fcn.00409d87
mov dword [ebp - 0x58c], eax
mov eax, dword [ebp - 0x58c]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x58c]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0xbe4]
call fcn.00409d87
cmp dword [eax], 0xffffffea
jge 0x47c526
push 0
call fcn.0045f436
pop ecx
jmp 0x47c4e6
lea ecx, [ebp - 0xbe4]
call fcn.00409d6b
mov dword [ebp - 0xb90], 1
mov dword [ebp - 0x3f0], 0x8261f9c2
mov dword [ebp - 0x7ec], 4
mov dword [ebp - 0xc00], 0xb0e446df
mov dword [ebp - 0xeac], 0x34e6d4f2
mov dword [ebp - 0x430], 0xfffffff8
mov dword [ebp - 0x98c], 0
mov dword [ebp - 0x448], 0xa7f4ea14
mov dword [ebp - 0xb6c], 0xa276ac11
mov dword [ebp - 0x58], 0
jmp 0x47c59b
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 3
jge 0x47c5b1
mov eax, dword [ebp - 0x58]
mov dword [ebp + eax*4 - 0x1124], 0xffffffff
jmp 0x47c594
mov dword [ebp - 0x58], 0
jmp 0x47c5c1
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 3
jge 0x47c5d7
mov eax, dword [ebp - 0x58]
mov dword [ebp + eax*4 - 0xfec], 6
jmp 0x47c5ba
push 0x1f1e
push 0
lea eax, [ebp - 0x448]
push eax
push 0x2642
push 0
call fcn.0045de68
add esp, 0x14
cmp dword [ebp - 0x3f0], 0
je 0x47c612
cmp dword [ebp - 0x7ec], 0
je 0x47c612
mov dword [ebp - 0x854], 1
jmp 0x47c619
and dword [ebp - 0x854], 0
cmp dword [ebp - 0x854], 0xfffffff8
jl 0x47c62e
mov dword [ebp - 0x594], 1
jmp 0x47c635
and dword [ebp - 0x594], 0
cmp dword [ebp - 0xb6c], 0x74f
je 0x47c64d
mov dword [ebp - 0x724], 1
jmp 0x47c654
and dword [ebp - 0x724], 0
mov eax, dword [ebp - 0x594]
sub eax, dword [ebp - 0x724]
sub eax, dword [ebp - 0x448]
push 4
pop ecx
shl ecx, 1
add eax, dword [ebp + ecx - 0xfec]
je 0x47c689
cmp dword [ebp - 0x98c], 0
je 0x47c689
mov dword [ebp - 0x59c], 1
jmp 0x47c690
and dword [ebp - 0x59c], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1124]
cmp dword [ebp - 0x59c], eax
jne 0x47c6b1
mov dword [ebp - 0x5a4], 1
jmp 0x47c6b8
and dword [ebp - 0x5a4], 0
mov eax, dword [ebp - 0x7ec]
cmp dword [ebp - 0x5a4], eax
je 0x47c6d8
cmp dword [ebp - 0xc00], 0
jne 0x47c6d8
and dword [ebp - 0x72c], 0
jmp 0x47c6e2
mov dword [ebp - 0x72c], 1
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0xeb4], eax
mov eax, dword [ebp - 0x72c]
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0xebc], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xfec]
mov dword [ebp - 0xec4], eax
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0xecc], eax
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x430], eax
push 1
lea ecx, [ebp - 0xddc]
call fcn.00409c99
mov dword [ebp - 0x1c], 0xbac64a68
mov dword [ebp - 0x384], 0xfffa
mov dword [ebp - 0x5f4], 9
mov dword [ebp - 0x2fc], 0
jmp 0x47c772
mov eax, dword [ebp - 0x2fc]
inc eax
mov dword [ebp - 0x2fc], eax
cmp dword [ebp - 0x2fc], 1
jge 0x47c78b
mov eax, dword [ebp - 0x2fc]
mov dword [ebp + eax*4 - 0x44], 0
jmp 0x47c765
mov dword [ebp - 0x1c], 0x15
jmp 0x47c79b
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffeb
jl 0x47c8d6
mov dword [ebp - 0x994], 0x3bfa
mov dword [ebp - 0x3f8], 0
mov dword [ebp - 0x248], 0
jmp 0x47c7d2
mov eax, dword [ebp - 0x248]
inc eax
mov dword [ebp - 0x248], eax
cmp dword [ebp - 0x248], 1
jge 0x47c7ee
mov eax, dword [ebp - 0x248]
mov dword [ebp + eax*4 - 0x5ac], 0
jmp 0x47c7c5
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x5ac], 0
je 0x47c89a
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x5ac]
cmp dword [ebp - 0x1c], eax
jg 0x47c82c
mov eax, dword [ebp - 0x994]
sub eax, 0xa17d
neg eax
jne 0x47c82c
and dword [ebp - 0x8b4], 0
jmp 0x47c836
mov dword [ebp - 0x8b4], 1
mov eax, dword [ebp - 0x8b4]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
je 0x47c860
cmp dword [ebp - 0x3f8], 0
je 0x47c860
mov dword [ebp - 0x5b4], 1
jmp 0x47c867
and dword [ebp - 0x5b4], 0
cmp dword [ebp - 0x5b4], 0xfffffff6
jb 0x47c87c
mov dword [ebp - 0x734], 1
jmp 0x47c883
and dword [ebp - 0x734], 0
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x734], eax
jne 0x47c89a
mov dword [ebp - 0x5bc], 1
jmp 0x47c8a1
and dword [ebp - 0x5bc], 0
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x5bc]
jge 0x47c8b8
mov dword [ebp - 0x7f4], 1
jmp 0x47c8bf
and dword [ebp - 0x7f4], 0
mov eax, dword [ebp - 0x7f4]
neg eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x44], eax
jmp 0x47c794
mov dword [ebp - 0x1c], 0x14
jmp 0x47c8e6
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xd
jl 0x47cd7a
mov dword [ebp - 0x84], 0
mov dword [ebp - 0xe0], 0x2b9cbadb
mov dword [ebp - 0xc08], 0x3d1dd14a
mov byte [ebp - 0xcf], 0
lea eax, [ebp - 0xcf]
push eax
push 0
push 0xe42
push 0x2e27
call fcn.00461c85
add esp, 0x10
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xed4], eax
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0xedc], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x84], eax
jl 0x47c95f
mov dword [ebp - 0xb78], 1
jmp 0x47c966
and dword [ebp - 0xb78], 0
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0xee4], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x44]
imul eax, dword [ebp - 0x384]
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
je 0x47c9a7
cmp dword [ebp - 0x384], 0
je 0x47c9a7
mov dword [ebp - 0x5c4], 1
jmp 0x47c9ae
and dword [ebp - 0x5c4], 0
cmp dword [ebp - 0x5c4], 0x5265
jne 0x47c9c1
cmp dword [ebp - 0x84], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x44]
mov dword [ebp - 0xeec], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xef4], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xefc], eax
mov eax, 0xf3f85024
cmp eax, 0x3b1ad31f
jne 0x47ca01
mov dword [ebp - 0x73c], 1
jmp 0x47ca08
and dword [ebp - 0x73c], 0
mov eax, dword [ebp - 0x84]
add eax, dword [ebp - 0x73c]
cmp eax, dword [ebp - 0x84]
jne 0x47ca28
mov dword [ebp - 0x5cc], 1
jmp 0x47ca2f
and dword [ebp - 0x5cc], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x44]
cmp eax, dword [ebp - 0x5cc]
je 0x47ca4d
mov dword [ebp - 0x85c], 1
jmp 0x47ca54
and dword [ebp - 0x85c], 0
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0x85c], eax
je 0x47ca6e
mov dword [ebp - 0x5d4], 1
jmp 0x47ca75
and dword [ebp - 0x5d4], 0
cmp dword [ebp - 0x5d4], 0x3cd0
jle 0x47ca9a
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x44], 0
je 0x47ca9a
mov dword [ebp - 0x744], 1
jmp 0x47caa1
and dword [ebp - 0x744], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x44]
cmp dword [ebp - 0x744], eax
jle 0x47cd67
mov dword [ebp - 0x5dc], 0xfffffffd
mov dword [ebp - 0xe0], 0x5ef1c8d2
mov eax, dword [ebp - 0xe0]
neg eax
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x44]
sub ecx, eax
cmp ecx, dword [ebp - 0x5dc]
jne 0x47caf3
mov dword [ebp - 0x7fc], 1
jmp 0x47cafa
and dword [ebp - 0x7fc], 0
mov eax, dword [ebp - 0x5dc]
cmp eax, dword [ebp - 0x7fc]
jne 0x47cb14
push 0
push 0x2155
call fcn.0045f74f
pop ecx
pop ecx
jmp 0x47c8df
mov dword [ebp - 0xa8], 0x42c70bb7
mov dword [ebp - 0x458], 5
mov dword [ebp - 0xc10], 0xcb0b9d62
mov dword [ebp - 0x260], 0
jmp 0x47cdb1
mov eax, dword [ebp - 0x260]
inc eax
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 1
jge 0x47cdca
mov eax, dword [ebp - 0x260]
mov dword [ebp + eax*4 - 0x78], 0xfffffff8
jmp 0x47cda4
mov dword [ebp - 0xa8], 0
jmp 0x47cde3
mov eax, dword [ebp - 0xa8]
dec eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jl 0x47ceca
mov dword [ebp - 0x114], 0x976ff55e
mov dword [ebp - 0xb84], 0
mov dword [ebp - 0x114], 0
jmp 0x47ce1d
mov eax, dword [ebp - 0x114]
inc eax
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
jg 0x47cec5
mov dword [ebp - 0x60c], 0
push 0
push 0x589f
call fcn.00473362
pop ecx
pop ecx
cmp dword [ebp - 0x114], 1
jg 0x47ce57
mov dword [ebp - 0x804], 1
jmp 0x47ce5e
and dword [ebp - 0x804], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x804]
sub ecx, dword [ebp + eax - 0x78]
jne 0x47ce7c
mov dword [ebp - 0x604], 1
jmp 0x47ce83
and dword [ebp - 0x604], 0
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp + eax*4 - 0x78]
cmp dword [ebp - 0x604], eax
jle 0x47cea1
mov dword [ebp - 0x75c], 1
jmp 0x47cea8
and dword [ebp - 0x75c], 0
mov eax, dword [ebp - 0x75c]
mov dword [ebp - 0x60c], eax
mov eax, dword [ebp - 0x60c]
mov dword [ebp - 0xb84], eax
jmp 0x47ce10
jmp 0x47cdd6
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x78], 0
jne 0x47cf91
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x78], 0
jne 0x47cefe
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x78], 0
jne 0x47cefe
and dword [ebp - 0x864], 0
jmp 0x47cf08
mov dword [ebp - 0x864], 1
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x78]
imul eax, dword [ebp - 0x864]
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0x78]
jle 0x47cf31
mov dword [ebp - 0x614], 1
jmp 0x47cf38
and dword [ebp - 0x614], 0
cmp dword [ebp - 0x614], 0xbe8
je 0x47cf50
mov dword [ebp - 0x764], 1
jmp 0x47cf57
and dword [ebp - 0x764], 0
cmp dword [ebp - 0x764], 0x1f56
jge 0x47cf6f
mov dword [ebp - 0x61c], 1
jmp 0x47cf76
and dword [ebp - 0x61c], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x61c]
sub ecx, dword [ebp + eax - 0x78]
jne 0x47cf91
and dword [ebp - 0x80c], 0
jmp 0x47cf9b
mov dword [ebp - 0x80c], 1
mov dword [ebp - 0x458], 0x56e3
mov eax, dword [ebp - 0x458]
sub eax, dword [ebp - 0x80c]
sub eax, 0xffff
cmp eax, 0xfffffff8
jbe 0x47cfc7
mov dword [ebp - 0x9ac], 1
jmp 0x47cfce
and dword [ebp - 0x9ac], 0
cmp dword [ebp - 0x458], 0
jne 0x47cfed
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x78], 0
jne 0x47cfed
and dword [ebp - 0x624], 0
jmp 0x47cff7
mov dword [ebp - 0x624], 1
mov dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x624]
jge 0x47d01b
mov dword [ebp - 0x76c], 1
jmp 0x47d022
and dword [ebp - 0x76c], 0
mov eax, dword [ebp - 0x76c]
mov dword [ebp - 0xc10], eax
lea eax, [ebp - 0xddc]
push eax
push 1
push 0x3ba5
lea eax, [ebp - 0xf0c]
push eax
push 0
call fcn.0045de68
add esp, 0x14
mov dword [ebp - 0x644], 0x85a9576c
mov dword [ebp - 0x63c], 6
mov dword [ebp - 0x9b4], 1
mov dword [ebp - 0x30c], 0
jmp 0x47d084
cmp dword [ebp - 0x30c], 4
jge 0x47d0a0
mov eax, dword [ebp - 0x30c]
mov dword [ebp + eax*4 - 0xc9c], 0x197f0a29
jmp 0x47d077
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xc9c], 0
je 0x47d0cb
jmp 0x482030
mov dword [ebp - 0x970], 0x9ed0
mov dword [ebp - 0x980], 0
mov dword [ebp - 0x978], 1
mov dword [ebp - 0x988], 0xffffffff
push 0x1ee7
push 0x1fa5
lea eax, [ebp - 0x970]
push eax
push 0x7897
lea eax, [ebp - 0x978]
push eax
push 0x7a4e
push 0x7f57
push 0
push 0x6530
lea eax, [ebp - 0x980]
push eax
push 0x28de
push 0x373b
push 0x210e
lea eax, [ebp - 0x988]
push eax
push 0x541
call fcn.0046343e
add esp, 0x3c
mov byte [ebp - 0x94], 0
movzx eax, byte [ebp - 0x94]
test eax, eax
je 0x482030
push 0
call fcn.00499a36
pop ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret