Function at 0x452556
Capabilities:
Contain obfuscated stackstrings
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x500fc5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x5b4
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x28], 0xfffffff9
mov dword [ebp - 0x2cc], 0xcbeb969
mov dword [ebp - 0x30], 0x303f0244
mov dword [ebp - 0x340], 1
push 3
lea ecx, [ebp - 0x45c]
call fcn.004128b0
mov dword [ebp - 0x490], 0xffffffff
mov dword [ebp - 0x18], 0
jmp 0x4525c4
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x4525da
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x4e4], 0xffffffff
jmp 0x4525bd
mov dword [ebp - 0x18], 0
jmp 0x4525ea
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x452600
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x44c], 0x14af12a8
jmp 0x4525e3
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0045216d
pop ecx
pop ecx
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x4e4], 1
jg 0x45262e
mov dword [ebp - 0x3d8], 1
jmp 0x452635
and dword [ebp - 0x3d8], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x4e4]
mov dword [ebp - 0x4b8], eax
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x44c], 0x45cb81ec
cmp dword [ebp - 0x28], 0x45cb81ec
jg 0x45266e
mov dword [ebp - 0x1f0], 1
jmp 0x452675
and dword [ebp - 0x1f0], 0
mov eax, dword [ebp - 0x1f0]
sub eax, dword [ebp - 0x340]
sub eax, dword [ebp - 0x28]
cmp eax, 0x4b5a
jl 0x452697
mov dword [ebp - 0x2a8], 1
jmp 0x45269e
and dword [ebp - 0x2a8], 0
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x2a8]
je 0x452ace
mov dword [ebp - 0x184], 0x72305ab
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x4a4], 0x8792891f
mov dword [ebp - 0x294], 0x2449ef
mov dword [ebp - 0x3dc], 0x35a60c43
mov dword [ebp - 0x150], 5
mov dword [ebp - 0x1c], 0
jmp 0x4526f9
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x45270f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x170], 1
jmp 0x4526f2
mov dword [ebp - 0x1c], 0
jmp 0x45271f
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x452735
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x50c], 0xe89b
jmp 0x452718
mov dword [ebp - 0x28], 0
jmp 0x452745
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jg 0x4528c1
mov dword [ebp - 0x450], 0x4d91f06e
push 4
lea ecx, [ebp - 0x488]
call fcn.004128b0
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x440]
push eax
call fcn.00451881
pop ecx
pop ecx
mov dword [ebp - 0x2b0], 0x1ca3
mov dword [ebp - 0x3f0], 0xab4ae4
cmp dword [ebp - 0x2b0], 0x1d70
jle 0x452825
and dword [ebp - 0xfc], 0
jmp 0x4527b5
mov eax, dword [ebp - 0xfc]
inc eax
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0x8d0
jge 0x452825
and dword [ebp - 0x64], 0
jmp 0x4527ce
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x7a6e
jge 0x452823
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x64]
sar eax, cl
cdq
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x348], edx
push dword [ebp - 0x348]
push dword [ebp - 0x34c]
lea ecx, [ebp - 0x5ac]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00412550
push eax
call fcn.004eaff7
pop ecx
lea ecx, [ebp - 0x5ac]
call fcn.00412546
jmp 0x4527c7
jmp 0x4527a8
mov dword [ebp - 0x30], 0
jmp 0x452835
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 2
jg 0x452862
mov dword [ebp - 0x460], 0x86695cd1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x170]
dec eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x170], eax
jmp 0x45282e
and dword [ebp - 4], 0
cmp dword [ebp - 0x2b0], 0x1932
jge 0x45287e
push dword [ebp - 0x3f0]
call fcn.004eaff7
pop ecx
jmp 0x45289a
or dword [ebp - 4], 0xffffffff
jmp 0x4528a4
lea eax, [ebp - 0x3dc]
push eax
call fcn.004521b5
pop ecx
lea ecx, [ebp - 0x488]
call fcn.00412982
jmp 0x45273e
mov eax, 0x17f4926a
test eax, eax
je 0x4528e4
mov eax, dword [ebp - 0x294]
cmp dword [ebp - 0x2cc], eax
jg 0x4528e4
mov dword [ebp - 0x17c], 1
jmp 0x4528eb
and dword [ebp - 0x17c], 0
cmp dword [ebp - 0x17c], 0xffff
jne 0x452903
mov dword [ebp - 0x2a0], 1
jmp 0x45290a
and dword [ebp - 0x2a0], 0
cmp dword [ebp - 0x2a0], 0xfffffffd
jae 0x45291f
mov dword [ebp - 0x21c], 1
jmp 0x452926
and dword [ebp - 0x21c], 0
mov eax, dword [ebp - 0x150]
push 4
pop ecx
shl ecx, 0
sub eax, dword [ebp + ecx - 0x170]
sub eax, dword [ebp - 0x21c]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x150]
inc eax
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x35c]
cmp eax, dword [ebp - 0x2d4]
jge 0x452984
mov dword [ebp - 0x3f4], 1
jmp 0x45298b
and dword [ebp - 0x3f4], 0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x498], eax
mov eax, 0x87f9
test eax, eax
je 0x4529b2
mov eax, 0x85dd
test eax, eax
je 0x4529b2
mov dword [ebp - 0x26c], 1
jmp 0x4529b9
and dword [ebp - 0x26c], 0
cmp dword [ebp - 0x26c], 0x7ab81002
je 0x4529d1
mov dword [ebp - 0x18c], 1
jmp 0x4529d8
and dword [ebp - 0x18c], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x170]
cmp eax, dword [ebp - 0x18c]
jl 0x4529f9
mov dword [ebp - 0x224], 1
jmp 0x452a00
and dword [ebp - 0x224], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x170]
cmp dword [ebp - 0x224], eax
jne 0x452a21
mov dword [ebp - 0x194], 1
jmp 0x452a28
and dword [ebp - 0x194], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x50c]
add eax, dword [ebp - 0x194]
cmp eax, dword [ebp - 0x294]
jg 0x452a4f
mov dword [ebp - 0x2dc], 1
jmp 0x452a56
and dword [ebp - 0x2dc], 0
mov eax, 0xca718ba3
test eax, eax
jne 0x452a6e
cmp dword [ebp - 0x30], 0
jne 0x452a6e
and dword [ebp - 0x19c], 0
jmp 0x452a78
mov dword [ebp - 0x19c], 1
cmp dword [ebp - 0x19c], 0x8c8eca74
jae 0x452a94
xor eax, eax
je 0x452a94
mov dword [ebp - 0x22c], 1
jmp 0x452a9b
and dword [ebp - 0x22c], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x170]
cmp dword [ebp - 0x22c], eax
jl 0x452abc
mov dword [ebp - 0x1a4], 1
jmp 0x452ac3
and dword [ebp - 0x1a4], 0
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x30], eax
jmp 0x452b16
mov dword [ebp - 0x368], 0xfffb
mov dword [ebp - 0x2e4], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x44c]
cmp dword [ebp - 0x368], eax
jl 0x452b03
mov dword [ebp - 0x274], 1
jmp 0x452b0a
and dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x2e4], eax
lea ecx, [ebp - 0x45c]
call fcn.00412982
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xcc], 0
jmp 0x452b44
mov eax, dword [ebp - 0xcc]
dec eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0xfffffffd
jg 0x452b65
call fcn.004521ce
mov byte [ebp - 0x2b], 0
movzx eax, byte [ebp - 0x2b]
test eax, eax
je 0x452b63
call fcn.004518e7
jmp 0x452b37
mov byte [ebp - 0x14c], 0x14
mov byte [ebp - 0x14b], 0x77
mov byte [ebp - 0x14a], 6
mov byte [ebp - 0x149], 0x12
mov byte [ebp - 0x148], 0x13
mov byte [ebp - 0x147], 0x13
mov byte [ebp - 0x146], 0xf
mov byte [ebp - 0x145], 4
mov byte [ebp - 0x144], 0
mov byte [ebp - 0x143], 0x11
mov byte [ebp - 0x142], 9
mov byte [ebp - 0x141], 0xb
mov byte [ebp - 0x140], 0xd
mov byte [ebp - 0x13f], 4
mov byte [ebp - 0x13e], 0x12
mov byte [ebp - 0x13d], 0x1d
mov byte [ebp - 0x13c], 0xa
mov byte [ebp - 0x13b], 0x18
mov byte [ebp - 0x13a], 0x10
mov byte [ebp - 0x139], 0x1a
mov byte [ebp - 0x138], 2
mov byte [ebp - 0x137], 0x12
mov byte [ebp - 0x136], 0x17
mov byte [ebp - 0x135], 0x1b
mov byte [ebp - 0x134], 0x11
mov byte [ebp - 0x133], 0xa
mov byte [ebp - 0x132], 5
mov byte [ebp - 0x131], 0x14
mov byte [ebp - 0x130], 0xe
mov byte [ebp - 0x12f], 9
mov byte [ebp - 0x12e], 7
mov byte [ebp - 0x12d], 7
mov byte [ebp - 0x12c], 0x19
mov byte [ebp - 0x12b], 0x12
mov byte [ebp - 0x12a], 0x18
mov byte [ebp - 0x129], 3
mov byte [ebp - 0x128], 3
mov byte [ebp - 0x127], 0x1d
mov byte [ebp - 0x126], 0x16
mov byte [ebp - 0x125], 0x13
mov byte [ebp - 0x124], 1
mov byte [ebp - 0x123], 0x15
mov byte [ebp - 0x122], 0xb
mov byte [ebp - 0x121], 0xe
mov byte [ebp - 0x120], 4
mov byte [ebp - 0x11f], 9
mov byte [ebp - 0x11e], 0x15
mov byte [ebp - 0x11d], 0x13
mov byte [ebp - 0x11c], 8
mov byte [ebp - 0x11b], 0x1f
mov byte [ebp - 0x11a], 0xc
mov byte [ebp - 0x119], 4
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x14c]
or eax, 2
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x14c]
and ecx, 2
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0x14c]
mov byte [ebp + ecx - 0x43c], al
mov dword [ebp - 0x1b4], 0x56a9
mov dword [ebp - 0x2ec], 0xab4b48
cmp dword [ebp - 0x1b4], 0x590d
jle 0x452dff
push 0xdcc
push 0
push 0
call dword [0xadb0bc]
and dword [ebp - 0x6c], 0
jmp 0x452d4a
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0x313a
jge 0x452df4
and dword [ebp - 0xe8], 0
jmp 0x452d6d
mov eax, dword [ebp - 0xe8]
inc eax
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0x1c36
jge 0x452def
and dword [ebp - 0x74], 0
jmp 0x452d86
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0x6ea8
jge 0x452dea
and dword [ebp - 0xd4], 0
jmp 0x452da5
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0x3090
jge 0x452de8
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0xd4]
cdq
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x354], edx
push dword [ebp - 0x354]
push dword [ebp - 0x358]
mov ecx, 0xad7f58
call fcn.0041255b
jmp 0x452d98
jmp 0x452d7f
jmp 0x452d60
jmp 0x452d43
push 0x21ba
call dword [0xadb340]
push 2
lea ecx, [ebp - 0x400]
call fcn.004128b0
mov dword [ebp - 0x20], 0
jmp 0x452e1c
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x452e35
push dword [ebp - 0x20]
lea ecx, [ebp - 0x400]
call fcn.0041299e
or dword [eax], 0xffffffff
jmp 0x452e15
mov dword [ebp - 0x20], 0
jmp 0x452e45
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jge 0x452e5b
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x470], 0x5364
jmp 0x452e3e
push 1
lea ecx, [ebp - 0x400]
call fcn.0041299e
mov dword [eax], 0xfffffffd
jmp 0x452e94
push 1
lea ecx, [ebp - 0x400]
call fcn.0041299e
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1ac]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx], eax
push 1
lea ecx, [ebp - 0x400]
call fcn.0041299e
cmp dword [eax], 0xc
jle 0x453099
mov dword [ebp - 0xdc], 0x5bf25cbd
mov byte [ebp - 0x29], 0
lea eax, [ebp - 0x29]
push eax
call fcn.004518fc
pop ecx
mov dword [ebp - 0x234], 0x573b
mov dword [ebp - 0x3c8], 0xab4ba0
cmp dword [ebp - 0x234], 0x59f3
jle 0x452fa9
push 0
call dword [0xadb3fc]
and dword [ebp - 0x84], 0
jmp 0x452f04
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x24dc
jge 0x452fa9
and dword [ebp - 0x7c], 0
jmp 0x452f21
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0x6514
jge 0x452fa4
and dword [ebp - 0xf8], 0
jmp 0x452f40
mov eax, dword [ebp - 0xf8]
inc eax
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0x6283
jge 0x452f9f
mov eax, dword [ebp - 0x7c]
cdq
idiv dword [ebp - 0xf8]
add edx, dword [ebp - 0x84]
mov eax, edx
cdq
mov dword [ebp - 0x364], eax
mov dword [ebp - 0x360], edx
push dword [ebp - 0x360]
push dword [ebp - 0x364]
lea ecx, [ebp - 0x594]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00412550
push eax
call fcn.004eaff7
pop ecx
lea ecx, [ebp - 0x594]
call fcn.00412546
jmp 0x452f33
jmp 0x452f1a
jmp 0x452ef7
mov dword [ebp - 0xdc], 0
jmp 0x452fc2
mov eax, dword [ebp - 0xdc]
dec eax
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
jl 0x45304f
mov dword [ebp - 0x8c], 0xf1813f1a
mov dword [ebp - 0x8c], 0
jmp 0x452ff2
mov eax, dword [ebp - 0x8c]
dec eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
jl 0x45304a
mov dword [ebp - 0x100], 3
mov dword [ebp - 0x100], 0
jmp 0x45301e
mov eax, dword [ebp - 0x100]
dec eax
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jl 0x453048
mov byte [ebp - 0x2a], 0
lea eax, [ebp - 0x2a]
push eax
call fcn.004521e4
pop ecx
mov byte [ebp - 0x31], 0
movzx eax, byte [ebp - 0x31]
test eax, eax
je 0x453046
call fcn.00451935
jmp 0x453011
jmp 0x452fe5
jmp 0x452fb5
mov dword [ebp - 4], 2
cmp dword [ebp - 0x234], 0x566a
jge 0x45306e
push dword [ebp - 0x3c8]
call fcn.004eaff7
pop ecx
jmp 0x45308a
or dword [ebp - 4], 0xffffffff
jmp 0x453094
jmp 0x452e70
lea ecx, [ebp - 0x400]
call fcn.00412982
mov dword [ebp - 4], 4
cmp dword [ebp - 0x1b4], 0x5486
jge 0x4530c7
mov edx, dword [ebp - 0x2ec]
mov ecx, 0xad7f58
call fcn.00415010
jmp 0x4530e3
or dword [ebp - 4], 0xffffffff
jmp 0x4530ed
mov dword [ebp - 0x24], 2
and dword [ebp - 0x2b4], 0
jmp 0x453105
mov eax, dword [ebp - 0x24]
inc eax
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x34
jae 0x45316d
mov eax, dword [ebp - 0x24]
movzx eax, byte [ebp + eax - 0x14b]
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x2b4]
movzx ecx, byte [ebp + ecx - 0x14e]
movsx ecx, byte [ebp + ecx - 0x43c]
or eax, ecx
mov ecx, dword [ebp - 0x24]
movzx ecx, byte [ebp + ecx - 0x14b]
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x2b4]
movzx edx, byte [ebp + edx - 0x14e]
movsx edx, byte [ebp + edx - 0x43c]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x24]
movzx ecx, byte [ebp + ecx - 0x14c]
mov byte [ebp + ecx - 0x43c], al
jmp 0x4530fd
xor eax, eax
inc eax
imul eax, eax, 0x1a
mov byte [ebp + eax - 0x43c], 0
mov dword [ebp - 0x1c4], 7
mov dword [ebp - 0x1bc], 0x2684
mov dword [ebp - 0x374], 0xab4c30
cmp dword [ebp - 0x1bc], 0x28bb
jle 0x453253
and dword [ebp - 0x94], 0
jmp 0x4531bf
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0x353a
jge 0x453253
and dword [ebp - 0xe4], 0
jmp 0x4531e5
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x5deb
jge 0x45324e
and dword [ebp - 0x9c], 0
jmp 0x453207
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0x3cdc
jge 0x45324c
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x9c]
shl eax, cl
cdq
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x36c], edx
push dword [ebp - 0x36c]
push dword [ebp - 0x370]
mov ecx, 0xad7f58
call fcn.0041255b
jmp 0x4531fa
jmp 0x4531d8
jmp 0x4531b2
mov dword [ebp - 0x1fc], 0xdf9481f3
mov dword [ebp - 4], 6
cmp dword [ebp - 0x1bc], 0x254f
jge 0x453280
mov edx, dword [ebp - 0x374]
mov ecx, 0xad7f58
call fcn.00415010
jmp 0x45329c
or dword [ebp - 4], 0xffffffff
jmp 0x4532a6
mov dword [ebp - 0x15c], 0x55a63a74
mov dword [ebp - 0x2fc], 0x855eec80
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x398], 0xffffffff
mov dword [ebp - 0x28c], 0xfffffff8
mov dword [ebp - 0x14], 0xd64c9d8
mov dword [ebp - 0x38c], 0x37911b9c
mov dword [ebp - 0x54], 0x6eb2d365
mov dword [ebp - 0x31c], 0x801465ee
mov dword [ebp - 0x20c], 4
mov dword [ebp - 0x118], 1
mov dword [ebp - 0x114], 1
mov dword [ebp - 0x110], 1
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x284], 0xc5172327
mov dword [ebp - 0x23c], 0x23d
mov dword [ebp - 0x2f4], 0xab4c78
cmp dword [ebp - 0x23c], 0x46e
jle 0x4533e5
and dword [ebp - 0x5c], 0
jmp 0x45336e
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0xa89
jge 0x4533e5
and dword [ebp - 0xa4], 0
jmp 0x45338d
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0x70b3
jge 0x4533e3
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0xa4]
cdq
mov dword [ebp - 0x37c], eax
mov dword [ebp - 0x378], edx
push dword [ebp - 0x378]
push dword [ebp - 0x37c]
lea ecx, [ebp - 0x5c4]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00412550
push eax
call fcn.004eaff7
pop ecx
lea ecx, [ebp - 0x5c4]
call fcn.00412546
jmp 0x453380
jmp 0x453367
mov dword [ebp - 0x164], 0x207
mov dword [ebp - 4], 8
cmp dword [ebp - 0x23c], 0x137
jge 0x45340e
push dword [ebp - 0x2f4]
call fcn.004eaff7
pop ecx
jmp 0x45342a
or dword [ebp - 4], 0xffffffff
jmp 0x453434
mov dword [ebp - 0x3e0], 0
mov dword [ebp - 0x1c4], 1
cmp dword [ebp - 0x1c4], 0
je 0x4535fb
cmp dword [ebp - 0x2c4], 0
jne 0x453477
mov dword [ebp - 0x2fc], 0x86c8
cmp dword [ebp - 0x3c], 0
jne 0x453477
and dword [ebp - 0x27c], 0
jmp 0x453481
mov dword [ebp - 0x27c], 1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x118]
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x304], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x118]
inc eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x118], eax
mov eax, dword [ebp - 0x380]
cmp eax, dword [ebp - 0x304]
jne 0x4534d5
mov dword [ebp - 0x3d4], 1
jmp 0x4534dc
and dword [ebp - 0x3d4], 0
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4a0], eax
mov eax, dword [ebp - 0x20c]
cmp dword [ebp - 0x284], eax
jl 0x4534ff
mov dword [ebp - 0x1cc], 1
jmp 0x453506
and dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x1cc], eax
jl 0x45351d
mov dword [ebp - 0x244], 1
jmp 0x453524
and dword [ebp - 0x244], 0
mov eax, dword [ebp - 0x15c]
cmp dword [ebp - 0x244], eax
je 0x45353e
mov dword [ebp - 0x1d4], 1
jmp 0x453545
and dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x1fc]
cmp dword [ebp - 0x1d4], eax
jge 0x453562
cmp dword [ebp - 0x3c], 0
jne 0x453562
and dword [ebp - 0x29c], 0
jmp 0x45356c
mov dword [ebp - 0x29c], 1
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x29c], eax
je 0x453583
mov dword [ebp - 0x30c], 1
jmp 0x45358a
and dword [ebp - 0x30c], 0
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x478], eax
mov eax, dword [ebp - 0x38c]
add eax, 0xa
cmp eax, 0xbbbbfefa
jae 0x4535b2
mov dword [ebp - 0x1dc], 1
jmp 0x4535b9
and dword [ebp - 0x1dc], 0
cmp dword [ebp - 0x1dc], 0x106ec6e5
jle 0x4535d4
cmp dword [ebp - 0x54], 0
jne 0x4535d4
and dword [ebp - 0x24c], 0
jmp 0x4535de
mov dword [ebp - 0x24c], 1
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x24c], eax
jne 0x4535ef
cmp dword [ebp - 0x3c], 0
je 0x4535fb
mov dword [ebp - 0x1e4], 1
jmp 0x453602
and dword [ebp - 0x1e4], 0
cmp dword [ebp - 0x1e4], 2
je 0x453620
cmp dword [ebp - 0x284], 0
je 0x453620
mov dword [ebp - 0x1ec], 1
jmp 0x453627
and dword [ebp - 0x1ec], 0
cmp dword [ebp - 0x1ec], 0
jne 0x45363c
mov dword [ebp - 0x254], 1
jmp 0x453643
and dword [ebp - 0x254], 0
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
neg eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], 3
jmp 0x453664
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jl 0x45390c
mov dword [ebp - 0x38], 0x6dac17b1
mov dword [ebp - 0x190], 0x5d2985da
mov dword [ebp - 0x324], 0xffffffff
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x118]
mov dword [ebp - 0x4a8], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x118]
mov dword [ebp - 0x4b0], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x118]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x118]
mov dword [ebp - 0x4b4], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x118], 0
jne 0x4536ec
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x118], 0
jne 0x4536ec
and dword [ebp - 0x1f4], 0
jmp 0x4536f6
mov dword [ebp - 0x1f4], 1
cmp dword [ebp - 0x1f4], 9
jle 0x45370b
mov dword [ebp - 0x2ac], 1
jmp 0x453712
and dword [ebp - 0x2ac], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x2ac], eax
jne 0x453729
mov dword [ebp - 0x25c], 1
jmp 0x453730
and dword [ebp - 0x25c], 0
mov eax, dword [ebp - 0x1fc]
cmp dword [ebp - 0x25c], eax
jle 0x45374a
mov dword [ebp - 0x204], 1
jmp 0x453751
and dword [ebp - 0x204], 0
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x14]
add eax, dword [ebp + ecx*4 - 0x118]
cmp eax, 0xfffffffa
jge 0x45378a
mov dword [ebp - 0x264], 1
jmp 0x453791
and dword [ebp - 0x264], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x20c]
sub ecx, dword [ebp - 0x264]
neg ecx
cmp dword [ebp + eax - 0x118], ecx
jge 0x4537ba
mov dword [ebp - 0x214], 1
jmp 0x4537c1
and dword [ebp - 0x214], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x118]
cmp dword [ebp - 0x214], eax
jl 0x4537df
mov dword [ebp - 0x2a4], 1
jmp 0x4537e6
and dword [ebp - 0x2a4], 0
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x2a4], eax
jle 0x4537fd
mov dword [ebp - 0x178], 1
jmp 0x453804
and dword [ebp - 0x178], 0
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x118]
cmp eax, dword [ebp - 0x38]
jl 0x453828
mov dword [ebp - 0x180], 1
jmp 0x45382f
and dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x15c]
cmp dword [ebp - 0x180], eax
jg 0x453849
mov dword [ebp - 0x314], 1
jmp 0x453850
and dword [ebp - 0x314], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x118]
mov dword [ebp - 0x494], eax
or eax, 0xffffffff
je 0x453880
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x118], 0
je 0x453880
mov dword [ebp - 0x188], 1
jmp 0x453887
and dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x38], 0
jmp 0x4538a3
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 3
jg 0x453907
mov dword [ebp - 0x3e8], 1
mov dword [ebp - 0x32c], 0
lea eax, [ebp - 0x3e0]
push eax
lea eax, [ebp - 0x31c]
push eax
lea eax, [ebp - 0x398]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x3e8]
push eax
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.00452201
add esp, 0x28
jmp 0x45389c
jmp 0x45365d
lea eax, [ebp - 0x43c]
push eax
lea ecx, [ebp - 0x4fc]
call fcn.0045ee83
and dword [ebp - 0xf4], 0
jmp 0x453934
mov eax, dword [ebp - 0xf4]
inc eax
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0x1b
jae 0x453ba3
mov dword [ebp - 0x198], 0x40c1
mov dword [ebp - 0x3a4], 0xab4ca4
cmp dword [ebp - 0x198], 0x41e6
jle 0x453a2c
and dword [ebp - 0xf0], 0
jmp 0x45397b
mov eax, dword [ebp - 0xf0]
inc eax
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0x2dec
jge 0x453a2c
and dword [ebp - 0x108], 0
jmp 0x4539a1
mov eax, dword [ebp - 0x108]
inc eax
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0x3244
jge 0x453a27
and dword [ebp - 0xac], 0
jmp 0x4539c3
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x6913
jge 0x453a22
mov eax, dword [ebp - 0x108]
xor eax, dword [ebp - 0xac]
or eax, dword [ebp - 0xf0]
cdq
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x384], edx
push dword [ebp - 0x384]
push dword [ebp - 0x388]
lea ecx, [ebp - 0x534]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00412550
push eax
call fcn.004eaff7
pop ecx
lea ecx, [ebp - 0x534]
call fcn.00412546
jmp 0x4539b6
jmp 0x453994
jmp 0x45396e
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x198], 0x409e
jge 0x453a4b
push dword [ebp - 0x3a4]
call fcn.004eaff7
pop ecx
jmp 0x453a67
or dword [ebp - 4], 0xffffffff
jmp 0x453a71
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x48], 3
push 2
lea ecx, [ebp - 0x414]
call fcn.004128b0
mov dword [ebp - 0x334], 0xffffffff
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x4ac]
push eax
call fcn.00451947
pop ecx
pop ecx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00451b6b
add esp, 0xc
mov dword [ebp - 0x48], 1
jmp 0x453ad6
mov eax, dword [ebp - 0x48]
dec eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jl 0x453b85
mov dword [ebp - 0x40], 0
jmp 0x453af0
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 1
jg 0x453b80
mov dword [ebp - 0x1a0], 0xffffffff
mov dword [ebp - 0x4c], 1
jmp 0x453b14
mov eax, dword [ebp - 0x4c]
dec eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jl 0x453b7b
mov dword [ebp - 0xb4], 0xfc520ea
mov dword [ebp - 0xb4], 0
jmp 0x453b3d
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 1
jg 0x453b6e
lea eax, [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x334]
push eax
call fcn.0045235e
add esp, 0x10
call fcn.00452397
jmp 0x453b30
cmp dword [ebp - 0x1a0], 0
je 0x453b79
jmp 0x453b7b
jmp 0x453b0d
jmp 0x453ae9
jmp 0x453acf
lea ecx, [ebp - 0x414]
call fcn.00412982
mov eax, dword [ebp - 0xf4]
mov byte [ebp + eax - 0x43c], 0
jmp 0x453927
mov dword [ebp - 0x1e0], 0x6e17
mov dword [ebp - 0x33c], 0xab4ce0
cmp dword [ebp - 0x1e0], 0x6e5c
jle 0x453c7d
push 0x19a9
call dword [0xadb2e8]
and dword [ebp - 0xc4], 0
jmp 0x453be8
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0x2bd6
jge 0x453c7d
and dword [ebp - 0xbc], 0
jmp 0x453c0e
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0x5d0d
jge 0x453c78
and dword [ebp - 0x104], 0
jmp 0x453c30
mov eax, dword [ebp - 0x104]
inc eax
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0x3269
jge 0x453c76
mov eax, dword [ebp - 0xbc]
cdq
idiv dword [ebp - 0x104]
mov eax, dword [ebp - 0xc4]
sub eax, edx
cdq
mov dword [ebp - 0x394], eax
mov dword [ebp - 0x390], edx
push dword [ebp - 0x390]
push dword [ebp - 0x394]
mov ecx, 0xad7f58
call fcn.0041255b
jmp 0x453c23
jmp 0x453c01
jmp 0x453bdb
mov dword [ebp - 0x158], 0xbac0
mov dword [ebp - 0x168], 6
mov dword [ebp - 0x1c8], 0xa86ba47c
push 3
lea ecx, [ebp - 0x420]
call fcn.004128b0
mov dword [ebp - 0x3ec], 1
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.004523b0
pop ecx
pop ecx
mov dword [ebp - 0x50], 0
jmp 0x453cd4
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 2
jge 0x453cea
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0x408], 0xba8b
jmp 0x453ccd
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x49c], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x4bc], eax
cmp dword [ebp - 0x158], 0
je 0x453da8
cmp dword [ebp - 0x168], 0xffff
jae 0x453d27
mov dword [ebp - 0x1a8], 1
jmp 0x453d2e
and dword [ebp - 0x1a8], 0
cmp dword [ebp - 0x1a8], 1
je 0x453d43
mov dword [ebp - 0x1b0], 1
jmp 0x453d4a
and dword [ebp - 0x1b0], 0
mov esi, dword [ebp - 0x1b0]
sub esi, dword [ebp - 0x3ec]
imul esi, dword [ebp - 0x1c8]
push 1
lea ecx, [ebp - 0x420]
call fcn.0041299e
cmp esi, dword [eax]
jle 0x453d7a
mov dword [ebp - 0x1c0], 1
jmp 0x453d81
and dword [ebp - 0x1c0], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x408]
dec eax
mov dword [ebp - 0x1b8], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp + eax - 0x408], ecx
mov eax, dword [ebp - 0x1c8]
neg eax
cmp eax, 1
je 0x453dc1
mov dword [ebp - 0x1d0], 1
jmp 0x453dc8
and dword [ebp - 0x1d0], 0
mov eax, dword [ebp - 0x168]
cmp dword [ebp - 0x1d0], eax
jl 0x453de2
mov dword [ebp - 0x1d8], 1
jmp 0x453de9
and dword [ebp - 0x1d8], 0
mov eax, dword [ebp - 0x1d8]
add eax, 9
mov dword [ebp - 0x168], eax
lea ecx, [ebp - 0x420]
call fcn.00412982
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x1e0], 0x6b26
jge 0x453e26
mov edx, dword [ebp - 0x33c]
mov ecx, 0xad7f58
call fcn.00415010
jmp 0x453e42
or dword [ebp - 4], 0xffffffff
jmp 0x453e4c
push 0xaab1e9
lea ecx, [ebp - 0x4d4]
call fcn.0045ee83
call fcn.004523f8
mov dword [ebp - 0x1e8], 0x7ac2
mov dword [ebp - 0x3b0], 0xab4d34
cmp dword [ebp - 0x1e8], 0x7b02
jle 0x453f09
and dword [ebp - 0xec], 0
jmp 0x453e9b
mov eax, dword [ebp - 0xec]
inc eax
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0x2d94
jge 0x453f09
and dword [ebp - 0x60], 0
jmp 0x453eb4
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x5520
jge 0x453f07
mov eax, dword [ebp - 0xec]
add eax, dword [ebp - 0x60]
cdq
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x39c], edx
push dword [ebp - 0x39c]
push dword [ebp - 0x3a0]
lea ecx, [ebp - 0x57c]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00412550
push eax
call fcn.004eaff7
pop ecx
lea ecx, [ebp - 0x57c]
call fcn.00412546
jmp 0x453ead
jmp 0x453e8e
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x1e8], 0x79e6
jge 0x453f28
push dword [ebp - 0x3b0]
call fcn.004eaff7
pop ecx
jmp 0x453f44
or dword [ebp - 4], 0xffffffff
jmp 0x453f4e
mov dword [ebp - 0x2d8], 0
mov dword [ebp - 0x3e4], 0x229e
mov dword [ebp - 0x350], 0x7921e124
mov dword [ebp - 0x3bc], 0x9b6917ab
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x2d0], 0
mov byte [ebp - 0x2c], 0
lea eax, [ebp - 0x2c]
push eax
call fcn.00451e79
pop ecx
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x3e4]
push eax
lea eax, [ebp - 0x350]
push eax
lea eax, [ebp - 0x3bc]
push eax
lea eax, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0x2d0]
push eax
lea eax, [ebp - 0x2d8]
push eax
call fcn.004524a0
add esp, 0x1c
lea ecx, [ebp - 0x4d4]
call fcn.004140ce
cmp eax, dword [ebp + 0xc]
je 0x4548c3
mov dword [ebp - 0x70], 0x110c93b4
mov dword [ebp - 0x2f0], 0xb15b45be
mov dword [ebp - 0x300], 0xa34071e9
mov dword [ebp - 0x68], 0
jmp 0x45401a
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 3
jge 0x454030
mov eax, dword [ebp - 0x68]
mov dword [ebp + eax*4 - 0x46c], 1
jmp 0x454013
mov dword [ebp - 0x70], 0
jmp 0x454040
mov eax, dword [ebp - 0x70]
dec eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0xfffffff7
jne 0x45440a
mov dword [ebp - 0x44], 0x7e17
mov dword [ebp - 0x220], 0x73598422
mov dword [ebp - 0x2f8], 1
cmp dword [ebp - 0x44], 1
ja 0x4540a4
mov dword [ebp - 0x174], 0xfffa
mov eax, dword [ebp - 0x174]
dec eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x44], 2
jmp 0x454092
mov eax, dword [ebp - 0x44]
dec eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jl 0x45409f
call fcn.0045253d
jmp 0x45408b
jmp 0x454405
mov dword [ebp - 0x154], 0xfffffffe
mov dword [ebp - 0x228], 0x62b56095
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x1f8], 0x379
mov dword [ebp - 0x2e0], 0xab4d88
cmp dword [ebp - 0x1f8], 0x6a7
jle 0x45413b
and dword [ebp - 0x78], 0
jmp 0x4540ef
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0x6082
jge 0x45413b
and dword [ebp - 0x80], 0
jmp 0x454105
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0xcef
jge 0x454139
mov eax, dword [ebp - 0x78]
add eax, dword [ebp - 0x80]
cdq
mov dword [ebp - 0x3ac], eax
mov dword [ebp - 0x3a8], edx
push dword [ebp - 0x3a8]
push dword [ebp - 0x3ac]
mov ecx, 0xad7f58
call fcn.0041255b
jmp 0x4540fe
jmp 0x4540e8
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x1f8], 0x64
jge 0x45415b
mov edx, dword [ebp - 0x2e0]
mov ecx, 0xad7f58
call fcn.00415010
jmp 0x454177
or dword [ebp - 4], 0xffffffff
jmp 0x454181
mov dword [ebp - 0x200], 0x4f49
mov dword [ebp - 0x2e8], 0xab4df0
cmp dword [ebp - 0x200], 0x5100
jle 0x454218
and dword [ebp - 0x88], 0
jmp 0x4541b7
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0x538f
jge 0x454218
and dword [ebp - 0x90], 0
jmp 0x4541d9
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0x38e
jge 0x454216
mov eax, dword [ebp - 0x88]
sub eax, dword [ebp - 0x90]
cdq
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 0x3b4], edx
push dword [ebp - 0x3b4]
push dword [ebp - 0x3b8]
mov ecx, 0xad7f58
call fcn.0041255b
jmp 0x4541cc
jmp 0x4541aa
mov dword [ebp - 0x98], 0
jmp 0x454231
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 1
jge 0x45424d
mov eax, dword [ebp - 0x98]
mov dword [ebp + eax*4 - 0x160], 0
jmp 0x454224
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x200], 0x4e0b
jge 0x454270
mov edx, dword [ebp - 0x2e8]
mov ecx, 0xad7f58
call fcn.00415010
jmp 0x45428c
or dword [ebp - 4], 0xffffffff
jmp 0x454296
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x46c], 0xa18461e7
jae 0x4542b5
mov dword [ebp - 0x208], 1
jmp 0x4542bc
and dword [ebp - 0x208], 0
mov eax, dword [ebp - 0x208]
sub eax, dword [ebp - 0x44]
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0x160]
jl 0x4542e0
mov dword [ebp - 0x210], 1
jmp 0x4542e7
and dword [ebp - 0x210], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x160]
add eax, dword [ebp - 0x210]
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0x46c]
jl 0x454315
mov dword [ebp - 0x218], 1
jmp 0x45431c
and dword [ebp - 0x218], 0
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x228], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x228]
sub ecx, dword [ebp + eax - 0x160]
cmp dword [ebp - 0x154], ecx
jl 0x45435b
mov dword [ebp - 0x230], 1
jmp 0x454362
and dword [ebp - 0x230], 0
mov eax, dword [ebp - 0x154]
cmp eax, dword [ebp - 0x230]
jne 0x45437c
mov dword [ebp - 0x238], 1
jmp 0x454383
and dword [ebp - 0x238], 0
mov eax, dword [ebp - 0x154]
cmp dword [ebp - 0x238], eax
jg 0x4543a6
cmp dword [ebp - 0x2f0], 0
je 0x4543a6
mov dword [ebp - 0x240], 1
jmp 0x4543ad
and dword [ebp - 0x240], 0
cmp dword [ebp - 0x240], 0xd65
jl 0x4543c5
mov dword [ebp - 0x248], 1
jmp 0x4543cc
and dword [ebp - 0x248], 0
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x2f8]
cmp dword [ebp - 0x250], eax
jle 0x4543f2
mov dword [ebp - 0x258], 1
jmp 0x4543f9
and dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x300], eax
jmp 0x454039
lea eax, [ebp - 0x4fc]
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.00452110
pop ecx
pop ecx
mov dword [ebp - 0x260], 0x3179
mov dword [ebp - 0x308], 0xab4e50
cmp dword [ebp - 0x260], 0x34a0
jle 0x45454c
push 0
call dword [0xadb554]
and dword [ebp - 0xa0], 0
jmp 0x454461
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x21f4
jge 0x45454c
and dword [ebp - 0xa8], 0
jmp 0x454487
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0x4c0
jge 0x454547
and dword [ebp - 0xb0], 0
jmp 0x4544ad
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0x13e2
jge 0x454542
and dword [ebp - 0xb8], 0
jmp 0x4544d3
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0x7759
jge 0x45453d
mov ecx, dword [ebp - 0xa0]
xor ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xb0]
cdq
idiv dword [ebp - 0xb8]
or ecx, edx
mov eax, ecx
cdq
mov dword [ebp - 0x3c4], eax
mov dword [ebp - 0x3c0], edx
push dword [ebp - 0x3c0]
push dword [ebp - 0x3c4]
lea ecx, [ebp - 0x54c]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00412550
push eax
call fcn.004eaff7
pop ecx
lea ecx, [ebp - 0x54c]
call fcn.00412546
jmp 0x4544c6
jmp 0x4544a0
jmp 0x45447a
jmp 0x454454
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x260], 0x2f11
jge 0x45456b
push dword [ebp - 0x308]
call fcn.004eaff7
pop ecx
jmp 0x454587
or dword [ebp - 4], 0xffffffff
jmp 0x454591
push 0x2809
lea eax, [ebp - 0x4fc]
push eax
push 0
lea eax, [ebp - 0x4d4]
push eax
push 0x1d2
lea eax, [ebp - 0x310]
push eax
push 0x210a
push 0x365e
call fcn.00454e33
add esp, 0x20
mov dword [ebp - 0x298], 0x630
mov dword [ebp - 0x330], 0xab4ed0
cmp dword [ebp - 0x298], 0x9d9
jle 0x4546c4
push 0x109e
push 0x7df
push 0xb80
call dword [0xadb4e0]
and dword [ebp - 0xc0], 0
jmp 0x454613
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x25b8
jge 0x4546c4
and dword [ebp - 0xc8], 0
jmp 0x454639
mov eax, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0xebc
jge 0x4546bf
and dword [ebp - 0xd0], 0
jmp 0x45465b
mov eax, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0x3bf6
jge 0x4546ba
mov eax, dword [ebp - 0xc0]
add eax, dword [ebp - 0xc8]
xor eax, dword [ebp - 0xd0]
cdq
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x3cc], edx
push dword [ebp - 0x3cc]
push dword [ebp - 0x3d0]
lea ecx, [ebp - 0x564]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00412550
push eax
call fcn.004eaff7
pop ecx
lea ecx, [ebp - 0x564]
call fcn.00412546
jmp 0x45464e
jmp 0x45462c
jmp 0x454606
mov dword [ebp - 0xe0], 0xffffffff
mov dword [ebp - 0x328], 0xa062b000
mov dword [ebp - 0x288], 0
push 2
lea ecx, [ebp - 0x2c0]
call fcn.004128b0
mov dword [ebp - 0xd8], 0x9589
mov dword [ebp - 0x268], 0x39f5fa31
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.0040d951
pop ecx
pop ecx
mov dword [ebp - 0x58], 0
jmp 0x454725
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 4
jge 0x45473b
mov eax, dword [ebp - 0x58]
mov dword [ebp + eax*4 - 0x51c], 0
jmp 0x45471e
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x47c], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x474], eax
push 0
lea ecx, [ebp - 0x2c0]
call fcn.0041299e
mov ecx, dword [ebp - 0x288]
cmp dword [eax], ecx
jne 0x454776
mov dword [ebp - 0x270], 1
jmp 0x45477d
and dword [ebp - 0x270], 0
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x270]
add eax, 0x71aa5bbf
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x318]
cmp eax, dword [ebp - 0x320]
jg 0x4547cd
mov dword [ebp - 0x278], 1
jmp 0x4547d4
and dword [ebp - 0x278], 0
push 0
lea ecx, [ebp - 0x2c0]
call fcn.0041299e
mov ecx, dword [ebp - 0x278]
cmp ecx, dword [eax]
jne 0x454800
cmp dword [ebp - 0xd8], 0
je 0x454800
mov dword [ebp - 0x280], 1
jmp 0x454807
and dword [ebp - 0x280], 0
mov eax, dword [ebp - 0xe0]
imul eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x328]
add ecx, dword [ebp - 0x280]
imul eax, ecx
cmp eax, dword [ebp - 0x288]
jge 0x454837
mov dword [ebp - 0x290], 1
jmp 0x45483e
and dword [ebp - 0x290], 0
push 0
lea ecx, [ebp - 0x2c0]
call fcn.0041299e
mov ecx, dword [ebp - 0x290]
imul ecx, dword [eax]
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x51c], ecx
lea eax, [ebp - 0x2c0]
push eax
call fcn.00452143
pop ecx
lea ecx, [ebp - 0x2c0]
call fcn.00412982
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x298], 0x2f5
jge 0x454898
push dword [ebp - 0x330]
call fcn.004eaff7
pop ecx
jmp 0x4548b4
or dword [ebp - 4], 0xffffffff
jmp 0x4548be
jmp 0x453fdb
lea eax, [ebp - 0x4d4]
push eax
mov ecx, dword [ebp + 8]
call fcn.004127c4
lea ecx, [ebp - 0x4d4]
call fcn.0041281d
lea ecx, [ebp - 0x4fc]
call fcn.0041281d
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret