Function at 0x4771eb
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5011b9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x16b4
call fcn.004fd140
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 0x1c]
test eax, eax
je 0x48156e
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xd44], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 0xfe8], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0xd4c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xd3c], eax
mov eax, dword [ebp - 0xfe8]
movzx eax, byte [eax]
test eax, eax
je 0x477268
push 0x1b36
push 0x276
push 0
call dword [0xadb510]
jmp 0x481569
mov eax, dword [ebp - 0xd3c]
mov dword [ebp - 0xca4], eax
mov eax, dword [ebp - 0xd44]
mov dword [ebp - 0xc94], eax
mov eax, dword [ebp - 0xd4c]
mov dword [ebp - 0x40c], eax
mov dword [ebp - 0x78], 0xfffffff9
mov dword [ebp - 0xd54], 0
mov dword [ebp - 0x78], 0x16
jmp 0x4772ad
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0x18
jge 0x47738d
mov dword [ebp - 0x1e4], 1
mov byte [ebp - 0x14a], 0
push 0
lea eax, [ebp - 0x14a]
push eax
push 0xacd
push 0x1323
push 1
call fcn.004629a6
add esp, 0x14
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x129c], eax
mov eax, dword [ebp - 0x1e4]
cmp dword [ebp - 0x78], eax
jle 0x477308
mov dword [ebp - 0x668], 1
jmp 0x47730f
and dword [ebp - 0x668], 0
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x668], eax
jle 0x477326
mov dword [ebp - 0xb40], 1
jmp 0x47732d
and dword [ebp - 0xb40], 0
mov eax, dword [ebp - 0x78]
imul eax, dword [ebp - 0xb40]
sub eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x1e4]
jl 0x477354
cmp dword [ebp - 0x78], 0
je 0x477354
mov dword [ebp - 0xb48], 1
jmp 0x47735b
and dword [ebp - 0xb48], 0
mov eax, dword [ebp - 0x1e4]
cmp eax, dword [ebp - 0xb48]
jg 0x477375
mov dword [ebp - 0xb50], 1
jmp 0x47737c
and dword [ebp - 0xb50], 0
mov eax, dword [ebp - 0xb50]
mov dword [ebp - 0xd54], eax
jmp 0x4772a6
mov eax, dword [ebp - 0x40c]
mov eax, dword [eax + 4]
mov dword [ebp - 0xb20], eax
mov dword [ebp - 0x154], 0
mov dword [ebp - 0xd64], 0xc01e6e2b
mov dword [ebp - 0x1398], 0xb590
mov dword [ebp - 0x3a8], 0
jmp 0x4773d3
mov eax, dword [ebp - 0x3a8]
inc eax
mov dword [ebp - 0x3a8], eax
cmp dword [ebp - 0x3a8], 3
jge 0x4773ef
mov eax, dword [ebp - 0x3a8]
mov dword [ebp + eax*4 - 0x1108], 4
jmp 0x4773c6
mov dword [ebp - 0x154], 0
jmp 0x477408
mov eax, dword [ebp - 0x154]
inc eax
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 2
jg 0x47752d
mov dword [ebp - 0xb58], 0x5f90
mov dword [ebp - 0xd5c], 0xab8750
cmp dword [ebp - 0xb58], 0x5fc7
jle 0x4774b4
and dword [ebp - 0x1ec], 0
jmp 0x47744b
mov eax, dword [ebp - 0x1ec]
inc eax
mov dword [ebp - 0x1ec], eax
cmp dword [ebp - 0x1ec], 0x4936
jge 0x4774ac
and dword [ebp - 0x318], 0
jmp 0x47746d
mov eax, dword [ebp - 0x318]
inc eax
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0x6e5b
jge 0x4774aa
mov eax, dword [ebp - 0x1ec]
sub eax, dword [ebp - 0x318]
cdq
mov dword [ebp - 0xd70], eax
mov dword [ebp - 0xd6c], edx
push dword [ebp - 0xd6c]
push dword [ebp - 0xd70]
mov ecx, 0xad7f58
call fcn.0041255b
jmp 0x477460
jmp 0x47743e
push 0
call dword [0xadb0e0]
mov byte [ebp - 0x12a], 0
push 0x728c
push 0xd09
push 0x2564
push 0
lea eax, [ebp - 0x12a]
push eax
push 0
push 0x1c87
call fcn.0048245d
add esp, 0x1c
and dword [ebp - 4], 0
cmp dword [ebp - 0xb58], 0x5c94
jge 0x477502
mov edx, dword [ebp - 0xd5c]
mov ecx, 0xad7f58
call fcn.00415010
jmp 0x47751e
or dword [ebp - 4], 0xffffffff
jmp 0x477528
jmp 0x4773fb
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1108]
mov dword [ebp - 0x11cc], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x1108]
mov dword [ebp - 0x132c], eax
mov dword [ebp - 0x154], 1
mov eax, dword [ebp - 0x154]
push 4
pop ecx
shl ecx, 1
mov ecx, dword [ebp + ecx - 0x1108]
lea eax, [eax + ecx - 4]
mov dword [ebp - 0xd64], eax
mov dword [ebp - 0xbc], 0xffffffff
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x468], 5
mov dword [ebp - 0xc8], 0xeadd5d
mov dword [ebp - 0x504], 0xfffffff6
mov dword [ebp - 0x574], 0x88cdf2ab
mov dword [ebp - 0xa1c], 0x611ca4b3
mov dword [ebp - 0x58c], 0xfff9
mov dword [ebp - 0x1f4], 0
jmp 0x4775e2
mov eax, dword [ebp - 0x1f4]
inc eax
mov dword [ebp - 0x1f4], eax
cmp dword [ebp - 0x1f4], 2
jge 0x4775fe
mov eax, dword [ebp - 0x1f4]
mov dword [ebp + eax*4 - 0x1078], 0x4b67
jmp 0x4775d5
cmp dword [ebp - 0xbc], 0xcc47d1af
jbe 0x477616
mov dword [ebp - 0xb84], 1
jmp 0x47761d
and dword [ebp - 0xb84], 0
mov eax, dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], eax
jle 0x477640
cmp dword [ebp - 0xbc], 0
je 0x477640
mov dword [ebp - 0xb6c], 1
jmp 0x477647
and dword [ebp - 0xb6c], 0
mov eax, dword [ebp - 0xbc]
cmp dword [ebp - 0xb6c], eax
jg 0x477661
mov dword [ebp - 0xb74], 1
jmp 0x477668
and dword [ebp - 0xb74], 0
mov eax, dword [ebp - 0xb74]
neg eax
cmp eax, 0xfffffffc
je 0x477681
mov dword [ebp - 0xb7c], 1
jmp 0x477688
and dword [ebp - 0xb7c], 0
mov eax, dword [ebp - 0xbc]
cmp dword [ebp - 0xb7c], eax
je 0x4776a2
mov dword [ebp - 0x564], 1
jmp 0x4776a9
and dword [ebp - 0x564], 0
mov eax, dword [ebp - 0xb84]
imul eax, dword [ebp - 0x564]
neg eax
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0xc8]
cmp dword [ebp - 0x468], eax
jge 0x4776d8
mov dword [ebp - 0xb38], 1
jmp 0x4776df
and dword [ebp - 0xb38], 0
mov dword [ebp - 0x178], 0x85ed
mov eax, dword [ebp - 0x178]
add eax, dword [ebp - 0xb38]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xbc]
cmp dword [ebp - 0xc8], eax
jne 0x477715
mov dword [ebp - 0x570], 1
jmp 0x47771c
and dword [ebp - 0x570], 0
mov eax, dword [ebp - 0x570]
add eax, 0xa2c9
sub eax, dword [ebp - 0x504]
cmp eax, 0xffffffff
ja 0x47773e
mov dword [ebp - 0xb44], 1
jmp 0x477745
and dword [ebp - 0xb44], 0
mov eax, dword [ebp - 0xb44]
imul eax, dword [ebp - 0x504]
mov dword [ebp - 0x56c], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x56c]
mov dword [ebp + eax - 0x1078], ecx
cmp dword [ebp - 0x56c], 0xc87a9b65
jbe 0x477783
mov dword [ebp - 0x88c], 1
jmp 0x47778a
and dword [ebp - 0x88c], 0
mov eax, dword [ebp - 0x88c]
mov dword [ebp - 0x574], eax
mov eax, dword [ebp - 0xbc]
imul eax, dword [ebp - 0x574]
mov dword [ebp - 0xa1c], eax
mov dword [ebp - 0xc8], 0
jmp 0x4777c2
mov eax, dword [ebp - 0xc8]
dec eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0xffffffe8
jl 0x477986
mov dword [ebp - 0x160], 0xc712bad4
mov dword [ebp - 0xa24], 0x46ac
mov dword [ebp - 0xf98], 0xc111be16
mov dword [ebp - 0xfa0], 0x447fe6d7
mov eax, dword [ebp - 0xc8]
cmp dword [ebp - 0x160], eax
jne 0x477811
mov dword [ebp - 0x57c], 1
jmp 0x477818
and dword [ebp - 0x57c], 0
mov eax, dword [ebp - 0x504]
imul eax, dword [ebp - 0xa1c]
mov ecx, dword [ebp - 0x160]
add ecx, dword [ebp - 0x57c]
cmp eax, ecx
jg 0x477841
mov dword [ebp - 0x894], 1
jmp 0x477848
and dword [ebp - 0x894], 0
mov eax, dword [ebp - 0x160]
cmp dword [ebp - 0x894], eax
je 0x477862
mov dword [ebp - 0x584], 1
jmp 0x477869
and dword [ebp - 0x584], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x1078]
cmp dword [ebp - 0x584], eax
jg 0x47788a
mov dword [ebp - 0xae4], 1
jmp 0x477891
and dword [ebp - 0xae4], 0
mov eax, dword [ebp - 0x160]
add eax, dword [ebp - 0xae4]
cmp eax, 0xc2d1
jge 0x4778b0
mov dword [ebp - 0x89c], 1
jmp 0x4778b7
and dword [ebp - 0x89c], 0
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x58c], eax
mov eax, dword [ebp - 0x58c]
cmp eax, dword [ebp - 0x89c]
jl 0x4778dd
mov dword [ebp - 0x594], 1
jmp 0x4778e4
and dword [ebp - 0x594], 0
mov eax, dword [ebp - 0x594]
mov dword [ebp - 0xa24], eax
mov dword [ebp - 0x178], 0
jmp 0x477909
mov eax, dword [ebp - 0x178]
inc eax
mov dword [ebp - 0x178], eax
cmp dword [ebp - 0x178], 4
jl 0x477981
mov dword [ebp - 0xfa8], 0xd4a52d86
mov dword [ebp - 0x59c], 1
push 0x2889
push 0x3ee5
push 0
push 1
lea eax, [ebp - 0x59c]
push eax
lea eax, [ebp - 0xf98]
push eax
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x468]
push eax
push 0x6f49
lea eax, [ebp - 0xfa0]
push eax
lea eax, [ebp - 0xa24]
push eax
lea eax, [ebp - 0xfa8]
push eax
call fcn.00463330
add esp, 0x30
mov dword [ebp - 0x59c], 0xa73bc0e3
jmp 0x4778fc
jmp 0x4777b5
mov dword [ebp - 0xac], 0
jmp 0x47799f
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 3
jge 0x4779bb
mov eax, dword [ebp - 0xac]
mov dword [ebp + eax*4 - 0x524], 1
jmp 0x477992
mov dword [ebp - 0xac], 0
jmp 0x4779d4
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 4
jge 0x4779f0
mov eax, dword [ebp - 0xac]
mov dword [ebp + eax*4 - 0x13f0], 0xffffffff
jmp 0x4779c7
push 4
pop eax
shl eax, 1
mov dword [ebp + eax - 0x524], 8
jmp 0x477a1b
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x524]
dec eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x524], eax
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x524], 6
jl 0x477c73
mov dword [ebp - 0x5a4], 6
mov dword [ebp - 0x134], 0
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x524], 0x8d0d
jl 0x477acb
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x524]
cmp dword [ebp - 0x5a4], eax
jg 0x477a76
mov dword [ebp - 0x8a4], 1
jmp 0x477a7d
and dword [ebp - 0x8a4], 0
cmp dword [ebp - 0x8a4], 0xffffffff
jle 0x477a92
mov dword [ebp - 0xfb0], 1
jmp 0x477a99
and dword [ebp - 0xfb0], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x524]
mov dword [ebp - 0x11d4], eax
push 4
pop eax
shl eax, 1
imul eax, dword [ebp + eax - 0x524], 0x1b58
test eax, eax
je 0x477acb
mov dword [ebp - 0xbb8], 1
jmp 0x477ad2
and dword [ebp - 0xbb8], 0
mov eax, dword [ebp - 0x5a4]
cmp dword [ebp - 0xbb8], eax
je 0x477aec
mov dword [ebp - 0x5ac], 1
jmp 0x477af3
and dword [ebp - 0x5ac], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x524]
cmp dword [ebp - 0x5ac], eax
jl 0x477b51
mov dword [ebp - 0xfb8], 1
lea eax, [ebp - 0xfb8]
push eax
push 0xa2d
push 0x3d36
push 1
push 0x4da4
push 0
push 0x5d49
call fcn.0048245d
add esp, 0x1c
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x524], 0
je 0x477b4c
jmp 0x477c73
jmp 0x477c4e
mov dword [ebp - 0xfc0], 0x3d62a04f
mov dword [ebp - 0x134], 3
jmp 0x477b74
mov eax, dword [ebp - 0x134]
dec eax
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
jl 0x477c4e
mov byte [ebp - 0x14b], 0
movzx eax, byte [ebp - 0x14b]
test eax, eax
je 0x477be7
push 0x5ff7
push 0xfc3
push 0x3e14
push 0
push 0x1fd6
push 0x7735
push 0x7cc7
push 0x5d3c
push 0
push 0x3a2a
push 0x7bb9
push 0x60ad
push 0x3d60
push 0x1513
push 0x4162
push 1
push 0x2c55
call fcn.00494990
add esp, 0x44
mov eax, dword [ebp - 0x134]
cmp dword [ebp + eax*4 - 0x13f0], 0
je 0x477c2f
mov eax, dword [ebp - 0xfc0]
cmp dword [ebp - 0x134], eax
jge 0x477c11
mov dword [ebp - 0x8ac], 1
jmp 0x477c18
and dword [ebp - 0x8ac], 0
mov eax, dword [ebp - 0x8ac]
sub eax, 4
je 0x477c2f
mov dword [ebp - 0x5b4], 1
jmp 0x477c36
and dword [ebp - 0x5b4], 0
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x5b4]
mov dword [ebp + eax*4 - 0x13f0], ecx
jmp 0x477b67
mov byte [ebp - 0x12e], 0
movzx eax, byte [ebp - 0x12e]
test eax, eax
je 0x477c6e
push 0
push 0
push 1
push 0
call dword [0xadb02c]
jmp 0x477a02
mov dword [ebp - 0x114], 0xfffffff9
mov dword [ebp - 0x80], 1
push 3
lea ecx, [ebp - 0x1000]
call fcn.004128b0
mov dword [ebp - 0x8bc], 2
push 0x73e3
push 0x51cf
lea eax, [ebp - 0x1000]
push eax
push 0x77ed
push 0x28ff
push 1
push 0
push 0x510e
push 0x6cb2
push 0x5dc5
lea eax, [ebp - 0x139c]
push eax
push 0
push 0x71cc
push 0x1660
push 0x1633
call fcn.004829bc
add esp, 0x3c
mov dword [ebp - 0x80], 0
jmp 0x477cf9
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 9
je 0x47848d
mov dword [ebp - 0x34], 0xfffffffa
mov dword [ebp - 0x4c], 0
push 1
lea ecx, [ebp - 0xb94]
call fcn.004128b0
mov dword [ebp - 0x60c], 0x33c8a0c0
push 0
lea eax, [ebp - 0xb94]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.00490f12
add esp, 0xc
mov dword [ebp - 0x1b0], 0
jmp 0x477d59
mov eax, dword [ebp - 0x1b0]
inc eax
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 1
jge 0x477d75
mov eax, dword [ebp - 0x1b0]
mov dword [ebp + eax*4 - 0xfc8], 0xfffffffc
jmp 0x477d4c
mov dword [ebp - 0x34], 0x1a
jmp 0x477d85
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0xfffffff7
je 0x477d9d
cmp dword [ebp - 0x34], 0
je 0x477d93
jmp 0x477d9d
cmp dword [ebp - 0x80], 0
je 0x477d9b
jmp 0x477d7e
jmp 0x477d7e
mov dword [ebp - 0x8dc], 0x6a0b
mov dword [ebp - 0xc14], 0xab8774
cmp dword [ebp - 0x8dc], 0x6cec
jle 0x477ec2
and dword [ebp - 0x418], 0
jmp 0x477dd7
mov eax, dword [ebp - 0x418]
inc eax
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 0x2afd
jge 0x477ec2
and dword [ebp - 0x1fc], 0
jmp 0x477dfd
mov eax, dword [ebp - 0x1fc]
inc eax
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0x15ba
jge 0x477ebd
and dword [ebp - 0x320], 0
jmp 0x477e23
mov eax, dword [ebp - 0x320]
inc eax
mov dword [ebp - 0x320], eax
cmp dword [ebp - 0x320], 0x6397
jge 0x477eb8
and dword [ebp - 0x204], 0
jmp 0x477e49
mov eax, dword [ebp - 0x204]
inc eax
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0x6bae
jge 0x477eb3
mov eax, dword [ebp - 0x418]
imul eax, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x320]
shl eax, cl
mov ecx, dword [ebp - 0x204]
shl eax, cl
cdq
mov dword [ebp - 0xd7c], eax
mov dword [ebp - 0xd78], edx
push dword [ebp - 0xd78]
push dword [ebp - 0xd7c]
lea ecx, [ebp - 0x151c]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00412550
push eax
call fcn.004eaff7
pop ecx
lea ecx, [ebp - 0x151c]
call fcn.00412546
jmp 0x477e3c
jmp 0x477e16
jmp 0x477df0
jmp 0x477dca
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x11dc], eax
cmp dword [ebp - 0x80], 0
jne 0x477edf
mov eax, dword [ebp - 0x4c]
add eax, 0xe70
je 0x478422
mov dword [ebp - 0xa3c], 0x702b5bdd
mov dword [ebp - 0xfe0], 0x9d28bc13
mov dword [ebp - 0x3b0], 0
jmp 0x477f0c
mov eax, dword [ebp - 0x3b0]
inc eax
mov dword [ebp - 0x3b0], eax
cmp dword [ebp - 0x3b0], 1
jge 0x477f28
mov eax, dword [ebp - 0x3b0]
mov dword [ebp + eax*4 - 0x13c], 1
jmp 0x477eff
mov dword [ebp - 0x4c], 0
jmp 0x477f38
mov eax, dword [ebp - 0x4c]
dec eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jl 0x478420
mov dword [ebp - 0xfd0], 0xfffffff6
mov dword [ebp - 0x5f4], 0x3093
mov dword [ebp - 0xfd8], 0xab87a0
cmp dword [ebp - 0x5f4], 0x30be
jle 0x478062
push 0x1855
push 0
push 0x2db
push 0
push 0xd2d
push 0x25b7
call dword [0xadb2a0]
and dword [ebp - 0x20c], 0
jmp 0x477fa4
mov eax, dword [ebp - 0x20c]
inc eax
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0x5f9e
jge 0x47805a
and dword [ebp - 0x328], 0
jmp 0x477fca
mov eax, dword [ebp - 0x328]
inc eax
mov dword [ebp - 0x328], eax
cmp dword [ebp - 0x328], 0x79c6
jge 0x478055
and dword [ebp - 0x214], 0
jmp 0x477fec
mov eax, dword [ebp - 0x214]
inc eax
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0x7ecf
jge 0x478050
mov eax, dword [ebp - 0x20c]
cdq
idiv dword [ebp - 0x328]
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov eax, edx
cdq
mov dword [ebp - 0xd88], eax
mov dword [ebp - 0xd84], edx
push dword [ebp - 0xd84]
push dword [ebp - 0xd88]
lea ecx, [ebp - 0x1600]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00412550
push eax
call fcn.004eaff7
pop ecx
lea ecx, [ebp - 0x1600]
call fcn.00412546
jmp 0x477fdf
jmp 0x477fbd
jmp 0x477f97
push 0
call dword [0xadb054]
push dword [ebp - 0x4c]
lea ecx, [ebp - 0xb94]
call fcn.0041299e
cmp dword [eax], 0
jne 0x478081
mov dword [ebp - 0x8c4], 1
jmp 0x478088
and dword [ebp - 0x8c4], 0
push dword [ebp - 0x4c]
lea ecx, [ebp - 0xb94]
call fcn.0041299e
cmp dword [eax], 0
jne 0x4780a7
mov dword [ebp - 0xa2c], 1
jmp 0x4780ae
and dword [ebp - 0xa2c], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x13c]
cmp dword [ebp - 0xa2c], eax
jle 0x4780cf
mov dword [ebp - 0x5bc], 1
jmp 0x4780d6
and dword [ebp - 0x5bc], 0
cmp dword [ebp - 0x5bc], 0
jbe 0x4780eb
mov dword [ebp - 0x8b4], 1
jmp 0x4780f2
and dword [ebp - 0x8b4], 0
cmp dword [ebp - 0x8b4], 0
jb 0x478107
mov dword [ebp - 0x5c4], 1
jmp 0x47810e
and dword [ebp - 0x5c4], 0
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x5c4], eax
jl 0x478127
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x13c], 0
mov dword [ebp - 0x34], 6
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x34], eax
jge 0x478148
cmp dword [ebp - 0x8bc], 0
jne 0x478148
and dword [ebp - 0xaec], 0
jmp 0x478152
mov dword [ebp - 0xaec], 1
cmp dword [ebp - 0xaec], 0x93c86992
jbe 0x47816a
mov dword [ebp - 0x5cc], 1
jmp 0x478171
and dword [ebp - 0x5cc], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x13c]
cmp dword [ebp - 0x5cc], eax
jl 0x478192
mov dword [ebp - 0x5d4], 1
jmp 0x478199
and dword [ebp - 0x5d4], 0
mov eax, dword [ebp - 0x8bc]
cmp dword [ebp - 0x5d4], eax
jg 0x4781b3
mov dword [ebp - 0xa34], 1
jmp 0x4781ba
and dword [ebp - 0xa34], 0
cmp dword [ebp - 0xa34], 0x70d2
jge 0x4781d2
mov dword [ebp - 0x5dc], 1
jmp 0x4781d9
and dword [ebp - 0x5dc], 0
mov eax, dword [ebp - 0x60c]
cmp dword [ebp - 0x5dc], eax
jl 0x4781f3
mov dword [ebp - 0x5e4], 1
jmp 0x4781fa
and dword [ebp - 0x5e4], 0
push 0
lea ecx, [ebp - 0x1000]
call fcn.0041299e
and dword [eax], 0
xor eax, eax
neg eax
mov ecx, dword [ebp - 0x8c4]
imul ecx, dword [ebp - 0x5e4]
sub eax, ecx
neg eax
je 0x478233
cmp dword [ebp - 0x4c], 0
je 0x478233
mov dword [ebp - 0xb4c], 1
jmp 0x47823a
and dword [ebp - 0xb4c], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x13c]
cmp dword [ebp - 0xb4c], eax
je 0x47825b
mov dword [ebp - 0x5ec], 1
jmp 0x478262
and dword [ebp - 0x5ec], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xfc8]
cmp dword [ebp - 0x5ec], eax
jle 0x478283
mov dword [ebp - 0x8cc], 1
jmp 0x47828a
and dword [ebp - 0x8cc], 0
mov eax, dword [ebp - 0x8cc]
mov dword [ebp - 0xfd0], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x5f4], 0x2e97
jge 0x4782b5
push dword [ebp - 0xfd8]
call fcn.004eaff7
pop ecx
jmp 0x4782d1
or dword [ebp - 4], 0xffffffff
jmp 0x4782db
mov dword [ebp - 0x34], 0
jmp 0x4782eb
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jl 0x47841b
mov dword [ebp - 0x4c8], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x13c]
mov dword [ebp - 0xa3c], eax
mov esi, dword [ebp - 0xa3c]
push 2
lea ecx, [ebp - 0x1000]
call fcn.0041299e
cmp esi, dword [eax]
je 0x478335
mov dword [ebp - 0x5fc], 1
jmp 0x47833c
and dword [ebp - 0x5fc], 0
mov eax, dword [ebp - 0x5fc]
mov dword [ebp - 0x4c8], eax
mov eax, dword [ebp - 0x4c8]
mov dword [ebp - 0xfe0], eax
push 0
lea ecx, [ebp - 0xb94]
call fcn.0041299e
cmp dword [eax], 0
jne 0x478372
mov dword [ebp - 0x8d4], 1
jmp 0x478379
and dword [ebp - 0x8d4], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x13c]
mov dword [ebp - 0x1334], eax
mov esi, dword [ebp - 0x4c8]
push dword [ebp - 0x4c]
lea ecx, [ebp - 0xb94]
call fcn.0041299e
sub esi, dword [eax]
cmp dword [ebp - 0x8d4], esi
je 0x4783b6
mov dword [ebp - 0x604], 1
jmp 0x4783bd
and dword [ebp - 0x604], 0
mov eax, dword [ebp - 0x80]
add eax, dword [ebp - 0x604]
push 4
pop ecx
imul ecx, ecx, 0
imul eax, dword [ebp + ecx - 0x13c]
cmp eax, 0x7b5881f6
jg 0x4783f7
push dword [ebp - 0x4c]
lea ecx, [ebp - 0xb94]
call fcn.0041299e
cmp dword [eax], 0
jne 0x4783f7
and dword [ebp - 0xaf4], 0
jmp 0x478401
mov dword [ebp - 0xaf4], 1
push 0
lea ecx, [ebp - 0x1000]
call fcn.0041299e
mov ecx, dword [ebp - 0xaf4]
mov dword [eax], ecx
jmp 0x4782e4
jmp 0x477f31
jmp 0x478438
cmp dword [ebp - 0x60c], 0
je 0x478438
lea ecx, [ebp - 0xb94]
call fcn.00412982
jmp 0x47848d
mov dword [ebp - 4], 4
cmp dword [ebp - 0x8dc], 0x66ab
jge 0x478457
push dword [ebp - 0xc14]
call fcn.004eaff7
pop ecx
jmp 0x478473
or dword [ebp - 4], 0xffffffff
jmp 0x47847d
lea ecx, [ebp - 0xb94]
call fcn.00412982
jmp 0x477cf2
lea ecx, [ebp - 0x1000]
call fcn.00412982
mov dword [ebp - 0xf54], 0xcbeb969
push 2
lea ecx, [ebp - 0x1120]
call fcn.004128b0
mov dword [ebp - 0x188], 0xffffffff
mov dword [ebp - 0x3f8], 0
jmp 0x4784d2
mov eax, dword [ebp - 0x3f8]
inc eax
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 2
jge 0x4784f1
push dword [ebp - 0x3f8]
lea ecx, [ebp - 0x1120]
call fcn.0041299e
and dword [eax], 0
jmp 0x4784c5
mov dword [ebp - 0x188], 0
jmp 0x47850a
mov eax, dword [ebp - 0x188]
inc eax
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x188], 1
jg 0x478555
push dword [ebp - 0x188]
lea ecx, [ebp - 0x1120]
call fcn.0041299e
cmp dword [eax], 0
je 0x47852b
jmp 0x478555
mov byte [ebp - 0x149], 0
movzx eax, byte [ebp - 0x149]
test eax, eax
je 0x478553
push 0
push 0
push 0x4894
push 0x102d
call fcn.0048e232
add esp, 0x10
jmp 0x4784fd
lea ecx, [ebp - 0x1120]
call fcn.00412982
mov dword [ebp - 0x124], 0x303f0244
mov dword [ebp - 0x614], 0x7218
mov dword [ebp - 0xff0], 0xab87f8
cmp dword [ebp - 0x614], 0x7255
jle 0x478655
and dword [ebp - 0x224], 0
jmp 0x4785a4
mov eax, dword [ebp - 0x224]
inc eax
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0xcb5
jge 0x478655
and dword [ebp - 0x21c], 0
jmp 0x4785ca
mov eax, dword [ebp - 0x21c]
inc eax
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0x3772
jge 0x478650
and dword [ebp - 0x330], 0
jmp 0x4785ec
mov eax, dword [ebp - 0x330]
inc eax
mov dword [ebp - 0x330], eax
cmp dword [ebp - 0x330], 0x72ff
jge 0x47864b
mov eax, dword [ebp - 0x21c]
add eax, dword [ebp - 0x330]
and eax, dword [ebp - 0x224]
cdq
mov dword [ebp - 0xd94], eax
mov dword [ebp - 0xd90], edx
push dword [ebp - 0xd90]
push dword [ebp - 0xd94]
lea ecx, [ebp - 0x154c]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00412550
push eax
call fcn.004eaff7
pop ecx
lea ecx, [ebp - 0x154c]
call fcn.00412546
jmp 0x4785df
jmp 0x4785bd
jmp 0x478597
mov dword [ebp - 4], 6
cmp dword [ebp - 0x614], 0x6f13
jge 0x478674
push dword [ebp - 0xff0]
call fcn.004eaff7
pop ecx
jmp 0x478690
or dword [ebp - 4], 0xffffffff
jmp 0x47869a
mov dword [ebp - 0xd8], 0x8f6c74aa
mov dword [ebp - 0x1c8], 0x7b5bf2d3
mov dword [ebp - 0xf60], 0x6273d594
mov dword [ebp - 0x478], 1
mov dword [ebp - 0x508], 6
mov dword [ebp - 0xa44], 0x203b
mov dword [ebp - 0xf8c], 0xab884c
cmp dword [ebp - 0xa44], 0x23b5
jle 0x47879b
and dword [ebp - 0x3b8], 0
jmp 0x478706
mov eax, dword [ebp - 0x3b8]
inc eax
mov dword [ebp - 0x3b8], eax
cmp dword [ebp - 0x3b8], 0x619e
jge 0x47879b
and dword [ebp - 0x22c], 0
jmp 0x47872c
mov eax, dword [ebp - 0x22c]
inc eax
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0x290e
jge 0x478796
and dword [ebp - 0x338], 0
jmp 0x47874e
mov eax, dword [ebp - 0x338]
inc eax
mov dword [ebp - 0x338], eax
cmp dword [ebp - 0x338], 0x877
jge 0x478794
mov eax, dword [ebp - 0x3b8]
cdq
idiv dword [ebp - 0x22c]
add edx, dword [ebp - 0x338]
mov eax, edx
cdq
mov dword [ebp - 0xda0], eax
mov dword [ebp - 0xd9c], edx
push dword [ebp - 0xd9c]
push dword [ebp - 0xda0]
mov ecx, 0xad7f58
call fcn.0041255b
jmp 0x478741
jmp 0x47871f
jmp 0x4786f9
mov dword [ebp - 4], 8
cmp dword [ebp - 0xa44], 0x1d9c
jge 0x4787be
mov edx, dword [ebp - 0xf8c]
mov ecx, 0xad7f58
call fcn.00415010
jmp 0x4787da
or dword [ebp - 4], 0xffffffff
jmp 0x4787e4
push 1
lea ecx, [ebp - 0x112c]
call fcn.004128b0
mov dword [ebp - 0x44], 0
jmp 0x478801
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 2
jge 0x478817
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0xbec], 0
jmp 0x4787fa
mov dword [ebp - 0x44], 0
jmp 0x478827
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 1
jge 0x47883d
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0xd34], 0xfffffffe
jmp 0x478820
push 0x53b6
lea eax, [ebp - 0x112c]
push eax
lea eax, [ebp - 0x44]
push eax
push 0
call fcn.0048fec2
add esp, 0x10
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x1c8]
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0x1c8]
imul edx, edx, 0x9b76
add edx, dword [ebp - 0xd8]
sub ecx, edx
imul ecx, ecx, 0xffff
imul eax, ecx
cmp eax, 0xc6e5
jge 0x478899
mov dword [ebp - 0x61c], 1
jmp 0x4788a0
and dword [ebp - 0x61c], 0
cmp dword [ebp - 0x61c], 0xfffffff7
jb 0x4788b5
mov dword [ebp - 0x8e4], 1
jmp 0x4788bc
and dword [ebp - 0x8e4], 0
mov eax, dword [ebp - 0xd8]
cmp dword [ebp - 0x8e4], eax
jle 0x4788d6
mov dword [ebp - 0x624], 1
jmp 0x4788dd
and dword [ebp - 0x624], 0
mov eax, dword [ebp - 0x624]
sub eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0x1c8]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0x508], 0x6702e63
jl 0x47890d
mov dword [ebp - 0xa4c], 1
jmp 0x478914
and dword [ebp - 0xa4c], 0
push 4
pop eax
shl eax, 0
imul eax, dword [ebp + eax - 0xbec], 0xbeb9
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0xbec]
je 0x478940
mov dword [ebp - 0xb80], 1
jmp 0x478947
and dword [ebp - 0xb80], 0
cmp dword [ebp - 0xb80], 4
jle 0x47895c
mov dword [ebp - 0x62c], 1
jmp 0x478963
and dword [ebp - 0x62c], 0
cmp dword [ebp - 0x62c], 0xffffffff
jle 0x478978
mov dword [ebp - 0x8ec], 1
jmp 0x47897f
and dword [ebp - 0x8ec], 0
cmp dword [ebp - 0x8ec], 0xd6c8400b
je 0x47899d
cmp dword [ebp - 0x508], 0
jne 0x47899d
and dword [ebp - 0x634], 0
jmp 0x4789a7
mov dword [ebp - 0x634], 1
mov eax, dword [ebp - 0x634]
add eax, 0xaf2c
push 4
pop ecx
shl ecx, 0
cmp eax, dword [ebp + ecx - 0xbec]
je 0x4789cd
mov dword [ebp - 0x470], 1
jmp 0x4789d4
and dword [ebp - 0x470], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x470]
mov dword [ebp + eax - 0xbec], ecx
mov eax, dword [ebp - 0x470]
neg eax
cmp eax, dword [ebp - 0x508]
jne 0x478a03
mov dword [ebp - 0x63c], 1
jmp 0x478a0a
and dword [ebp - 0x63c], 0
mov eax, dword [ebp - 0xa4c]
cmp eax, dword [ebp - 0x63c]
jg 0x478a24
mov dword [ebp - 0x8f4], 1
jmp 0x478a2b
and dword [ebp - 0x8f4], 0
cmp dword [ebp - 0x8f4], 1
jg 0x478a40
mov dword [ebp - 0x644], 1
jmp 0x478a47
and dword [ebp - 0x644], 0
mov eax, dword [ebp - 0x1c8]
cmp dword [ebp - 0x644], eax
je 0x478a61
mov dword [ebp - 0xafc], 1
jmp 0x478a68
and dword [ebp - 0xafc], 0
mov eax, dword [ebp - 0xf60]
sub eax, dword [ebp - 0xafc]
mov ecx, dword [ebp - 0x478]
mov edx, dword [ebp - 0x478]
dec edx
mov dword [ebp - 0x478], edx
cmp ecx, eax
jle 0x478a94
mov eax, 0xf5fd
test eax, eax
jne 0x478aa6
cmp dword [ebp - 0x1c8], 0
jne 0x478aa6
and dword [ebp - 0x64c], 0
jmp 0x478ab0
mov dword [ebp - 0x64c], 1
cmp dword [ebp - 0x64c], 1
jge 0x478ac5
mov dword [ebp - 0x8fc], 1
jmp 0x478acc
and dword [ebp - 0x8fc], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x8fc]
sub ecx, dword [ebp + eax - 0xd34]
je 0x478af1
xor eax, eax
je 0x478af1
mov dword [ebp - 0x654], 1
jmp 0x478af8
and dword [ebp - 0x654], 0
mov eax, dword [ebp - 0x654]
mov dword [ebp - 0xd8], eax
mov esi, dword [ebp - 0xd8]
push 0
lea ecx, [ebp - 0x112c]
call fcn.0041299e
mov dword [eax], esi
lea ecx, [ebp - 0x112c]
call fcn.00412982
mov dword [ebp - 0xc80], 1
mov dword [ebp - 0xc0], 0x24a8c6a5
mov dword [ebp - 0x234], 0
jmp 0x478b51
mov eax, dword [ebp - 0x234]
inc eax
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 3
jge 0x478b6d
mov eax, dword [ebp - 0x234]
mov dword [ebp + eax*4 - 0x14ec], 0x6ccb0362
jmp 0x478b44
mov dword [ebp - 0xc0], 0
jmp 0x478b86
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0xf
jne 0x478ba6
mov dword [ebp - 0xc20], 0x7b1891f7
cmp dword [ebp - 0xc20], 0
je 0x478ba4
jmp 0x478ba6
jmp 0x478b79
mov dword [ebp - 0xc0], 0
jmp 0x478bbf
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 2
jg 0x478d04
mov dword [ebp - 0x438], 0x39cb61d2
mov dword [ebp - 0x438], 0
jmp 0x478bef
mov eax, dword [ebp - 0x438]
inc eax
mov dword [ebp - 0x438], eax
cmp dword [ebp - 0x438], 2
jg 0x478cff
mov dword [ebp - 0xc4], 0xffffffff
mov dword [ebp - 0xc4], 2
jmp 0x478c1f
mov eax, dword [ebp - 0xc4]
dec eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jl 0x478c42
mov byte [ebp - 0x135], 0
movzx eax, byte [ebp - 0x135]
test eax, eax
je 0x478c40
call dword [0xadb358]
jmp 0x478c12
mov dword [ebp - 0xc4], 2
jmp 0x478c5b
mov eax, dword [ebp - 0xc4]
dec eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jl 0x478cfa
mov byte [ebp - 0x145], 0
movzx eax, byte [ebp - 0x145]
test eax, eax
je 0x478cd3
push 0x5be8
push 0x7d7d
push 0x3a71
push 0x4e92
push 0x5130
push 0x5e68
push 0x181d
push 0
push 0x6888
push 1
push 0x4ec1
push 0x6ab7
push 0x5398
push 0x14f
push 0x6595
push 1
push 0x4774
push 0x5933
call fcn.00475c8c
add esp, 0x48
mov byte [ebp - 0x13d], 0
movzx eax, byte [ebp - 0x13d]
test eax, eax
je 0x478cf5
push 0x1168
push 0x1a70
call dword [0xadb5c4]
jmp 0x478c4e
jmp 0x478be2
jmp 0x478bb2
push 3
lea ecx, [ebp - 0x138c]
call fcn.004128b0
push 2
lea ecx, [ebp - 0x1258]
call fcn.004128b0
push 0x151d
lea eax, [ebp - 0x1258]
push eax
push 0
push 0x76ec
push 0x2350
lea eax, [ebp - 0x11e4]
push eax
push 0xba2
call fcn.0048485a
add esp, 0x1c
mov byte [ebp - 0x14d], 0
movzx eax, byte [ebp - 0x14d]
test eax, eax
je 0x478d73
push 0
push 0x8f9
push 0x19b3
push 0x122c
call dword [0xadb158]
push 0
call fcn.0048ed94
pop ecx
lea ecx, [ebp - 0x1258]
call fcn.00412982
mov dword [ebp - 0x13cc], 0xffffffff
mov dword [ebp - 0x18], 0x57bf5cd5
mov dword [ebp - 0xcc], 0x273d5943
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0xe4], 0x16e289aa
mov byte [ebp - 0x13f], 0
movzx eax, byte [ebp - 0x13f]
test eax, eax
je 0x478f50
mov dword [ebp - 0xa54], 0x7027
mov dword [ebp - 0xe90], 0xab8890
cmp dword [ebp - 0xa54], 0x7345
jle 0x478ee8
and dword [ebp - 0x23c], 0
jmp 0x478e02
mov eax, dword [ebp - 0x23c]
inc eax
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0x620f
jge 0x478ee8
and dword [ebp - 0x340], 0
jmp 0x478e28
mov eax, dword [ebp - 0x340]
inc eax
mov dword [ebp - 0x340], eax
cmp dword [ebp - 0x340], 0x6d9d
jge 0x478ee3
and dword [ebp - 0x244], 0
jmp 0x478e4e
mov eax, dword [ebp - 0x244]
inc eax
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0x15a7
jge 0x478ede
and dword [ebp - 0x3c0], 0
jmp 0x478e74
mov eax, dword [ebp - 0x3c0]
inc eax
mov dword [ebp - 0x3c0], eax
cmp dword [ebp - 0x3c0], 0x1559
jge 0x478ed9
mov eax, dword [ebp - 0x23c]
add eax, dword [ebp - 0x340]
sub eax, dword [ebp - 0x244]
sub eax, dword [ebp - 0x3c0]
cdq
mov dword [ebp - 0xdac], eax
mov dword [ebp - 0xda8], edx
push dword [ebp - 0xda8]
push dword [ebp - 0xdac]
lea ecx, [ebp - 0x14a4]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00412550
push eax
call fcn.004eaff7
pop ecx
lea ecx, [ebp - 0x14a4]
call fcn.00412546
jmp 0x478e67
jmp 0x478e41
jmp 0x478e1b
jmp 0x478df5
push 0x771
push 0
push 0x46fa
push 0x730c
push 0x55aa
push 0x7832
call fcn.0048fbf3
add esp, 0x18
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0xa54], 0x6d01
jge 0x478f2a
push dword [ebp - 0xe90]
call fcn.004eaff7
pop ecx
jmp 0x478f46
or dword [ebp - 4], 0xffffffff
jmp 0x478f50
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x11ec], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x133c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x11f4], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x478f8f
cmp dword [ebp - 0x18], 0
je 0x478f8f
mov dword [ebp - 0x65c], 1
jmp 0x478f96
and dword [ebp - 0x65c], 0
cmp dword [ebp - 0x65c], 0xffffffff
jle 0x478fab
mov dword [ebp - 0xc28], 1
jmp 0x478fb2
and dword [ebp - 0xc28], 0
cmp dword [ebp - 0xcc], 0
je 0x478fd0
cmp dword [ebp - 0xcc], 0
je 0x478fd0
mov dword [ebp - 0x904], 1
jmp 0x478fd7
and dword [ebp - 0x904], 0
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x478fee
mov dword [ebp - 0x664], 1
jmp 0x478ff5
and dword [ebp - 0x664], 0
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x664]
cmp eax, dword [ebp - 0x18]
je 0x479010
cmp dword [ebp - 0x18], 0
jne 0x479010
cmp dword [ebp - 0xcc], 0
cmp dword [ebp - 0x38], 1
jne 0x479022
mov dword [ebp - 0xb54], 1
jmp 0x479029
and dword [ebp - 0xb54], 0
cmp dword [ebp - 0xb54], 1
jg 0x47903e
mov dword [ebp - 0x66c], 1
jmp 0x479045
and dword [ebp - 0x66c], 0
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x13a4], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x11fc], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1344], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x18]
cmp eax, 0x68fc786c
jne 0x479088
mov dword [ebp - 0x90c], 1
jmp 0x47908f
and dword [ebp - 0x90c], 0
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x90c], eax
je 0x4790ab
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xe4], eax
jmp 0x47941b
mov dword [ebp - 0x54], 1
mov dword [ebp - 0x170], 0xffffffff
mov dword [ebp - 0xc30], 0xffffffff
mov dword [ebp - 0x18], 0
jmp 0x4790d6
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x479118
mov byte [ebp - 0x126], 0
push 0x3f36
push 0x35fc
push 0x1bd7
push 0x71b8
lea eax, [ebp - 0x126]
push eax
push 0
push 1
push 0x6775
push 0
push 0x66d5
call fcn.00495f78
add esp, 0x28
jmp 0x4790cf
cmp dword [ebp - 0x54], 0
je 0x47913a
mov dword [ebp - 0x674], 0xfffffff9
mov eax, dword [ebp - 0x674]
inc eax
mov dword [ebp - 0x674], eax
jmp 0x47941b
push 1
lea ecx, [ebp - 0x104c]
call fcn.004128b0
mov dword [ebp - 0xa4], 0
jmp 0x479160
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 1
jge 0x479182
push dword [ebp - 0xa4]
lea ecx, [ebp - 0x104c]
call fcn.0041299e
mov dword [eax], 2
jmp 0x479153
mov dword [ebp - 0xa4], 0
jmp 0x47919b
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 1
jge 0x4791b7
mov eax, dword [ebp - 0xa4]
mov dword [ebp + eax*4 - 0x4d0], 0xb5b3a04b
jmp 0x47918e
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x54], eax
jg 0x4791cb
mov dword [ebp - 0xa5c], 1
jmp 0x4791d2
and dword [ebp - 0xa5c], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xa5c], eax
jne 0x4791e1
cmp dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x54], eax
jg 0x4791f5
mov dword [ebp - 0x67c], 1
jmp 0x4791fc
and dword [ebp - 0x67c], 0
mov eax, dword [ebp - 0x67c]
mov dword [ebp - 0x170], eax
mov esi, dword [ebp - 0x170]
push 0
lea ecx, [ebp - 0x104c]
call fcn.0041299e
mov eax, dword [eax]
lea eax, [esi + eax + 0xfffd]
mov ecx, dword [ebp - 0xe4]
imul ecx, eax
test ecx, ecx
jne 0x479241
push 6
pop eax
test eax, eax
jne 0x479241
and dword [ebp - 0x914], 0
jmp 0x47924b
mov dword [ebp - 0x914], 1
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x914]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0xbb1b
jge 0x479272
mov dword [ebp - 0x684], 1
jmp 0x479279
and dword [ebp - 0x684], 0
mov esi, dword [ebp - 0x38]
imul esi, dword [ebp - 0x684]
push 0
lea ecx, [ebp - 0x104c]
call fcn.0041299e
cmp esi, dword [eax]
jl 0x4792a0
mov dword [ebp - 0xb04], 1
jmp 0x4792a7
and dword [ebp - 0xb04], 0
cmp dword [ebp - 0xb04], 0x6a74ab72
jl 0x4792bf
mov dword [ebp - 0xe54], 1
jmp 0x4792c6
and dword [ebp - 0xe54], 0
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x1204], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x13dc], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x4d0]
mov dword [ebp - 0x120c], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x1350], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xe4], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x4d0]
mov dword [ebp - 0x1214], eax
cmp dword [ebp - 0x18], 0x5929
jge 0x47932b
mov dword [ebp - 0x68c], 1
jmp 0x479332
and dword [ebp - 0x68c], 0
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x68c], eax
je 0x479349
mov dword [ebp - 0x91c], 1
jmp 0x479350
and dword [ebp - 0x91c], 0
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x91c], eax
jge 0x479367
mov dword [ebp - 0x694], 1
jmp 0x47936e
and dword [ebp - 0x694], 0
mov eax, dword [ebp - 0x694]
sub eax, dword [ebp - 0x54]
cmp eax, 0x9618
jne 0x47938a
mov dword [ebp - 0xa64], 1
jmp 0x479391
and dword [ebp - 0xa64], 0
mov eax, 0x59af
sub eax, dword [ebp - 0xa64]
cmp eax, 0x6b3dad93
jge 0x4793af
mov dword [ebp - 0x69c], 1
jmp 0x4793b6
and dword [ebp - 0x69c], 0
mov eax, dword [ebp - 0x69c]
mov dword [ebp - 0xc30], eax
mov dword [ebp - 0x170], 0xfffffffb
jmp 0x4793db
mov eax, dword [ebp - 0x170]
dec eax
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 0xffffffec
jle 0x479410
mov dword [ebp - 0x38], 0xfffffff3
jmp 0x4793f4
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x32
jl 0x47940e
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x4d0], 0
je 0x47940c
jmp 0x47940e
jmp 0x4793ed
jmp 0x4793ce
lea ecx, [ebp - 0x104c]
call fcn.00412982
mov dword [ebp - 0x13ac], 0x2e31d832
mov dword [ebp - 0x6a4], 3
mov dword [ebp - 0x480], 1
mov dword [ebp - 0xc38], 0
mov dword [ebp - 0x88], 0
jmp 0x47945c
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 2
jge 0x479478
mov eax, dword [ebp - 0x88]
mov dword [ebp + eax*4 - 0xdb8], 0xfffffffd
jmp 0x47944f
mov dword [ebp - 0x88], 0
jmp 0x479491
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 1
jge 0x4794ad
mov eax, dword [ebp - 0x88]
mov dword [ebp + eax*4 - 0xfd4], 0xffffffff
jmp 0x479484
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xdb8]
mov dword [ebp - 0x121c], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xdb8]
mov dword [ebp - 0x12e4], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xdb8]
mov dword [ebp - 0x1224], eax
push 0xfffffffffffffff9
pop eax
cmp eax, 1
je 0x4794fa
mov dword [ebp - 0x924], 1
jmp 0x479501
and dword [ebp - 0x924], 0
mov eax, dword [ebp - 0x480]
dec eax
mov dword [ebp - 0x480], eax
mov eax, dword [ebp - 0x924]
mov dword [ebp - 0x6a4], eax
mov eax, dword [ebp - 0x6a4]
cmp dword [ebp - 0x480], eax
jne 0x479534
mov dword [ebp - 0xba8], 1
jmp 0x47953b
and dword [ebp - 0xba8], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xfd4]
cmp dword [ebp - 0xba8], eax
jl 0x47955c
mov dword [ebp - 0x6ac], 1
jmp 0x479563
and dword [ebp - 0x6ac], 0
mov eax, dword [ebp - 0x6ac]
mov dword [ebp - 0xc38], eax
mov dword [ebp - 0x28], 0
jmp 0x47957f
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 4
jge 0x479595
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x1400], 0xffffffff
jmp 0x479578
mov dword [ebp - 0x92c], 0x2e33
mov dword [ebp - 0xe5c], 0xab88f0
cmp dword [ebp - 0x92c], 0x3070
jle 0x47965f
and dword [ebp - 0x24c], 0
jmp 0x4795cf
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0x2b11
jge 0x479652
and dword [ebp - 0x348], 0
jmp 0x4795f1
mov eax, dword [ebp - 0x348]
inc eax
mov dword [ebp - 0x348], eax
cmp dword [ebp - 0x348], 0x3b82
jge 0x47964d
mov eax, dword [ebp - 0x24c]
cdq
idiv dword [ebp - 0x348]
mov eax, edx
cdq
mov dword [ebp - 0xdc4], eax
mov dword [ebp - 0xdc0], edx
push dword [ebp - 0xdc0]
push dword [ebp - 0xdc4]
lea ecx, [ebp - 0x157c]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00412550
push eax
call fcn.004eaff7
pop ecx
lea ecx, [ebp - 0x157c]
call fcn.00412546
jmp 0x4795e4
jmp 0x4795c2
push 0
push 0xd3
call dword [0xadb584]
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x92c], 0x2cee
jge 0x47967e
push dword [ebp - 0xe5c]
call fcn.004eaff7
pop ecx
jmp 0x47969a
or dword [ebp - 4], 0xffffffff
jmp 0x4796a4
mov dword [ebp - 0xec], 0xfffffff9
mov dword [ebp - 0xe64], 0xcbeb969
mov dword [ebp - 0xf4], 0x303f0244
mov dword [ebp - 0xf6c], 1
push 3
lea ecx, [ebp - 0x1288]
call fcn.004128b0
mov dword [ebp - 0x12e8], 0xffffffff
mov dword [ebp - 0x24], 0
jmp 0x4796f3
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 4
jge 0x479709
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1410], 0xffffffff
jmp 0x4796ec
mov dword [ebp - 0x24], 0
jmp 0x479719
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x47972f
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1278], 0x14af12a8
jmp 0x479712
mov dword [ebp - 0x24], 0
jmp 0x47973f
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x47975b
push dword [ebp - 0x24]
lea ecx, [ebp - 0x1288]
call fcn.0041299e
mov dword [eax], 0xfc24489b
jmp 0x479738
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x1410], 1
jg 0x479777
mov dword [ebp - 0xc40], 1
jmp 0x47977e
and dword [ebp - 0xc40], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x1410]
mov dword [ebp - 0x122c], eax
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x1278], 0x45cb81ec
cmp dword [ebp - 0xec], 0x45cb81ec
jg 0x4797ba
mov dword [ebp - 0x6b4], 1
jmp 0x4797c1
and dword [ebp - 0x6b4], 0
mov eax, dword [ebp - 0x6b4]
sub eax, dword [ebp - 0xf6c]
sub eax, dword [ebp - 0xec]
cmp eax, 0x4b5a
jl 0x4797e6
mov dword [ebp - 0xa6c], 1
jmp 0x4797ed
and dword [ebp - 0xa6c], 0
mov eax, dword [ebp - 0xec]
sub eax, dword [ebp - 0xa6c]
je 0x479c9a
mov dword [ebp - 0x93c], 0x72305ab
mov dword [ebp - 0xc50], 0
mov dword [ebp - 0x12f0], 0x8792891f
mov dword [ebp - 0x6e4], 0x2449ef
mov dword [ebp - 0x934], 0x35a60c43
mov dword [ebp - 0x500], 5
mov dword [ebp - 0xa8], 0
jmp 0x479854
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 2
jge 0x479870
mov eax, dword [ebp - 0xa8]
mov dword [ebp + eax*4 - 0x52c], 1
jmp 0x479847
mov dword [ebp - 0xa8], 0
jmp 0x479889
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 4
jge 0x4798a5
mov eax, dword [ebp - 0xa8]
mov dword [ebp + eax*4 - 0x1484], 0xe89b
jmp 0x47987c
mov dword [ebp - 0xec], 0
jmp 0x4798be
cmp dword [ebp - 0xec], 3
jg 0x479a84
mov dword [ebp - 0xf78], 0xfffb
mov dword [ebp - 0xc68], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1278]
cmp dword [ebp - 0xf78], eax
jl 0x479ccf
mov dword [ebp - 0x6f4], 1
jmp 0x479cd6
and dword [ebp - 0x6f4], 0
mov eax, dword [ebp - 0x6f4]
mov dword [ebp - 0xc68], eax
lea ecx, [ebp - 0x1288]
call fcn.00412982
mov dword [ebp - 0x28], 0
jmp 0x479cfd
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jge 0x479d13
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x137c], 0x14af12a8
jmp 0x479cf6
mov dword [ebp - 0x704], 0x4163
mov dword [ebp - 0xc70], 0xab89b4
cmp dword [ebp - 0x704], 0x4179
jle 0x479e40
and dword [ebp - 0x350], 0
jmp 0x479d4d
cmp dword [ebp - 0x350], 0x262c
jge 0x479e33
mov dword [ebp - 0x180], 0xfffffff8
mov dword [ebp - 0x90], 0xffffffff
push 3
lea ecx, [ebp - 0x1150]
call fcn.004128b0
push 3
lea ecx, [ebp - 0x1138]
call fcn.004128b0
mov dword [ebp - 0x190], 0
jmp 0x479e87
cmp dword [ebp - 0x190], 3
jge 0x479ea9
jmp 0x481738
lea eax, [ebp + 0x14]
mov dword [ebp - 0xcfc], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xd04], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xd0c], eax
mov eax, dword [ebp - 0xcfc]
movzx eax, byte [eax]
test eax, eax
je 0x4815aa
push 0
push 0x186d
push 0
call dword [0xadb060]
jmp 0x481738
mov eax, dword [ebp - 0xd04]
mov dword [ebp - 0xd1c], eax
mov dword [ebp - 0xb30], 0x77d4
mov dword [ebp - 0xd14], 0xab927c
cmp dword [ebp - 0xb30], 0x7a07
jle 0x481686
and dword [ebp - 0x43c], 0
jmp 0x4815f0
mov eax, dword [ebp - 0x43c]
inc eax
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0x5910
jge 0x481686
and dword [ebp - 0x270], 0
jmp 0x481616
mov eax, dword [ebp - 0x270]
inc eax
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 0x5477
jge 0x481681
and dword [ebp - 0x310], 0
jmp 0x481638
mov eax, dword [ebp - 0x310]
inc eax
mov dword [ebp - 0x310], eax
cmp dword [ebp - 0x310], 0x249a
jge 0x48167f
mov eax, dword [ebp - 0x43c]
cdq
idiv dword [ebp - 0x270]
imul edx, dword [ebp - 0x310]
mov eax, edx
cdq
mov dword [ebp - 0xf80], eax
mov dword [ebp - 0xf7c], edx
push dword [ebp - 0xf7c]
push dword [ebp - 0xf80]
mov ecx, 0xad7f58
call fcn.0041255b
jmp 0x48162b
jmp 0x481609
jmp 0x4815e3
mov eax, dword [ebp - 0xd0c]
mov dword [ebp - 0xd24], eax
mov dword [ebp - 4], 0x4a
cmp dword [ebp - 0xb30], 0x77a2
jge 0x4816b5
mov edx, dword [ebp - 0xd14]
mov ecx, 0xad7f58
call fcn.00415010
jmp 0x4816d1
or dword [ebp - 4], 0xffffffff
jmp 0x4816db
mov eax, dword [ebp - 0xd1c]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0xd24]
mov dword [ebp - 0xd2c], eax
mov eax, dword [ebp - 0x1cc]
mov dword [eax], 0
jmp 0x481712
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x1cc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1cc]
cmp dword [eax], 4
jge 0x481738
mov eax, dword [ebp - 0x1cc]
push dword [eax]
mov ecx, dword [ebp - 0xd2c]
call fcn.0041299e
mov dword [eax], 0xfffffffd
jmp 0x481701
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret