Function at 0x42aed0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x17c
mov eax, dword [0x645580]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
imul eax, edi, 0x88
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0x144], 0
add eax, 0x6450f0
mov dword [ebp - 0xf0], eax
cmp edi, 2
jge 0x42afb3
mov eax, dword [0x64baa0]
mov dword [ebp - 0xf4], eax
cmp eax, dword [0x64ba9c]
ja 0x42afb3
mov ebx, dword [0x64ba98]
lea edi, [eax - 4]
push 0x64
push edi
push ebx
call fcn.00426fd0
lea esi, [ebx + 4]
cmp esi, edi
ja 0x42af7a
mov ecx, dword [ebp - 0xf4]
nop dword [eax]
mov edi, dword [esi]
mov eax, esi
cmp esi, ebx
jbe 0x42af6e
mov edx, dword [eax - 4]
cmp edi, edx
jae 0x42af68
mov dword [eax], edx
add eax, 0xfffffffc
cmp eax, ebx
ja 0x42af58
mov ecx, dword [ebp - 0xf4]
mov dword [eax], edi
add esi, 4
lea eax, [ecx - 4]
cmp esi, eax
jbe 0x42af50
mov ecx, dword [0x64d238]
mov eax, 0x64d01c
mov edx, dword [0x64c1f4]
test ecx, ecx
mov edi, dword [ebp - 0xb0]
cmovne edx, dword [0x64d01c]
or edx, 1
mov dword [ebp - 0x144], 1
test ecx, ecx
mov ecx, 0x64c1f4
cmove eax, ecx
mov dword [eax], edx
call fcn.00431b90
imul eax, edi, 0x88
mov dword [ebp - 0x120], edi
add eax, 0x64511c
mov dword [ebp - 0xc0], eax
nop
cmp dword [0x64bab8], 0
mov esi, dword [eax - 4]
je 0x42b1ab
test esi, esi
je 0x42affd
test byte [esi + 0x14], 1
je 0x42affd
nop word [eax + eax]
mov esi, dword [esi + 0x18]
test esi, esi
je 0x42affd
test byte [esi + 0x14], 1
jne 0x42aff0
mov edx, esi
mov dword [ebp - 0xf4], edx
nop word [eax + eax]
mov edi, dword [esi + 0x10]
mov dword [esi + 0x28], 0
mov ecx, dword [0x6450b4]
cmp ecx, edi
jb 0x42b0b2
cmp ecx, dword [esi + 8]
jae 0x42b0b2
cmp esi, edx
jne 0x42b05e
mov edi, dword [eax]
mov ebx, dword [edi]
and ebx, 0xfffffffc
mov eax, dword [ebx]
movzx edx, ax
test eax, eax
jns 0x42b04b
imul edx, dword [edi + 4]
jmp 0x42b04d
xor edx, edx
mov eax, dword [ebx + 4]
add eax, 3
add eax, edx
and eax, 0xfffffffc
add edi, eax
cmp ecx, edi
jbe 0x42b0b2
test edi, edi
je 0x42b0b2
mov ebx, ecx
sub ebx, edi
je 0x42b0b2
mov eax, dword [0x6453a0]
test eax, eax
jne 0x42b07d
push dword [0x6450b4]
push edi
call fcn.0041c350
mov eax, dword [0x64b020]
mov dword [edi], eax
lea eax, [ebx - 0xc]
mov dword [edi + 4], eax
call fcn.0040f130
and eax, 1
xor edx, edx
or eax, edx
je 0x42b0ac
push dword [edi + 4]
lea eax, [edi + 8]
push 0xcc
push eax
call fcn.004371b0
add esp, 0xc
mov ecx, dword [0x6450b4]
mov eax, dword [0x64bab8]
cmp eax, dword [esi + 0x10]
jb 0x42b137
cmp eax, dword [esi + 8]
jae 0x42b137
mov eax, dword [0x6453a0]
test eax, eax
jne 0x42b0fb
mov edi, dword [0x64bab8]
mov edx, dword [edi]
and edx, 0xfffffffc
mov eax, dword [edx]
movzx ecx, ax
test eax, eax
jns 0x42b0e4
imul ecx, dword [edi + 4]
jmp 0x42b0e6
xor ecx, ecx
mov eax, dword [edx + 4]
push dword [esi]
add eax, 3
add eax, ecx
and eax, 0xfffffffc
add eax, edi
push eax
call fcn.0041c350
cmp dword [esi + 0x28], 0
jne 0x42b106
mov eax, dword [esi]
mov dword [esi + 0x28], eax
mov edi, dword [0x64bab8]
mov edx, dword [edi]
and edx, 0xfffffffc
mov eax, dword [edx]
movzx ecx, ax
test eax, eax
jns 0x42b120
imul ecx, dword [edi + 4]
jmp 0x42b122
xor ecx, ecx
mov eax, dword [edx + 4]
add eax, 3
add eax, ecx
and eax, 0xfffffffc
add eax, edi
mov dword [esi], eax
mov ecx, dword [0x6450b4]
cmp dword [esi + 8], ecx
jb 0x42b147
mov eax, dword [esi + 0x10]
cmp eax, dword [0x64bab8]
jbe 0x42b15c
mov eax, dword [0x6453a0]
cmp dword [esi + 0x28], 0
jne 0x42b157
mov eax, dword [esi]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x10]
mov dword [esi], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x42b190
test byte [eax + 0x14], 1
je 0x42b190
nop dword [eax]
mov eax, dword [eax + 0x18]
mov esi, eax
test eax, eax
je 0x42b190
test byte [eax + 0x14], 1
jne 0x42b170
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xf4]
jmp 0x42b010
mov edx, dword [ebp - 0xf4]
mov esi, eax
test eax, eax
mov eax, dword [ebp - 0xc0]
jne 0x42b010
jmp 0x42b247
test esi, esi
je 0x42b1c2
test byte [esi + 0x14], 1
je 0x42b1c2
mov esi, dword [esi + 0x18]
test esi, esi
je 0x42b1c2
test byte [esi + 0x14], 1
jne 0x42b1b5
mov ebx, esi
mov edi, dword [esi + 0x10]
mov dword [esi + 0x28], 0
cmp esi, ebx
jne 0x42b1f5
mov edx, dword [eax]
mov eax, dword [edx]
and eax, 0xfffffffc
mov ecx, dword [eax]
test ecx, ecx
jns 0x42b1e8
movzx ecx, cx
imul ecx, dword [edx + 4]
jmp 0x42b1ea
xor ecx, ecx
lea edi, [ecx + 3]
add edi, dword [eax + 4]
and edi, 0xfffffffc
add edi, edx
mov eax, dword [0x6453a0]
test eax, eax
jne 0x42b206
push dword [esi]
push edi
call fcn.0041c350
cmp dword [esi + 0x28], 0
jne 0x42b211
mov eax, dword [esi]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x18]
mov dword [esi], edi
test eax, eax
je 0x42b237
test byte [eax + 0x14], 1
je 0x42b237
mov eax, dword [eax + 0x18]
mov esi, eax
test eax, eax
je 0x42b237
test byte [eax + 0x14], 1
jne 0x42b220
mov eax, dword [ebp - 0xc0]
jmp 0x42b1c4
mov esi, eax
test eax, eax
mov eax, dword [ebp - 0xc0]
jne 0x42b1c4
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0xc0]
inc ecx
mov edi, dword [ebp - 0xb0]
add eax, 0x88
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0xc0], eax
cmp ecx, edi
jle 0x42afd0
mov esi, dword [ebp - 0xf0]
mov eax, dword [esi + 0x28]
test eax, eax
je 0x42b293
test byte [eax + 0x14], 1
je 0x42b293
mov eax, dword [eax + 0x18]
test eax, eax
je 0x42b293
test byte [eax + 0x14], 1
jne 0x42b286
mov edx, dword [esi + 0x2c]
xor ecx, ecx
mov dword [ebp - 0xec], eax
mov ebx, edx
mov eax, dword [eax]
mov dword [ebp - 0xd8], eax
mov eax, dword [0x64ba98]
mov dword [ebp - 0x128], eax
xor eax, eax
mov dword [ebp - 0x11c], eax
mov eax, edx
sub eax, dword [0x64c0bc]
shr eax, 0xb
mov dword [ebp - 0x110], edx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0xac], eax
cmp edi, 2
je 0x42b308
cmp dword [0x64d228], ecx
je 0x42b308
xor edx, edx
lea eax, [edi + 1]
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x118], edx
jmp 0x42b31b
mov eax, 1
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x118], eax
mov eax, edi
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xc4], ecx
mov ecx, 0xd
mov dword [ebp - 0xcc], edi
mov dword [ebp - 0xa4], esi
nop
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x42b340
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x15c], ecx
mov dword [ebp - 0x154], ecx
cmp edi, 2
jge 0x42b4b3
lea ecx, [edi + 1]
mov eax, 2
cmp ecx, eax
cmovl eax, ecx
xor edx, edx
imul edi, eax, 0x88
add edi, 0x6450f0
mov dword [ebp - 0xc4], edi
mov esi, dword [edi + 0x3c]
test esi, esi
je 0x42b3f7
lea ecx, [edx + edx*2]
shl ecx, 2
test edx, edx
jne 0x42b3d3
lea eax, [edi + 0x40]
jmp 0x42b3db
mov eax, dword [edi + 0x4c]
add eax, 0xfffffff4
add eax, ecx
movq xmm0, qword [eax]
inc edx
mov eax, dword [eax + 8]
movq qword [ebp + ecx - 0xa0], xmm0
mov dword [ebp + ecx - 0x98], eax
cmp edx, esi
jb 0x42b3c4
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x28]
mov dword [ebp - 0x148], eax
mov eax, dword [edi + 0x6c]
mov dword [ebp - 0x138], eax
mov eax, dword [edi + 0x54]
mov dword [ebp - 0x13c], eax
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0xf4], eax
mov eax, dword [edi + 0x58]
mov dword [ebp - 0x120], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x14c], eax
mov eax, dword [edi]
mov dword [ebp - 0x150], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x15c], eax
mov eax, dword [edi + 0x30]
mov dword [edi + 0x64], 0
mov dword [ebp - 0x154], eax
test ecx, ecx
je 0x42b46d
test byte [ecx + 0x14], 1
je 0x42b46d
nop dword [eax + eax]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42b46d
test byte [ecx + 0x14], 1
jne 0x42b460
mov edx, dword [0x64c0a0]
cmp ecx, edx
je 0x42b4ad
test ecx, ecx
je 0x42b4ad
nop dword [eax + eax]
cmp ecx, edx
je 0x42b4ad
mov eax, dword [ecx]
mov dword [ecx + 0x24], eax
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x42b4a7
test byte [eax + 0x14], 1
je 0x42b4a7
mov eax, dword [eax + 0x18]
mov ecx, eax
test eax, eax
je 0x42b4a7
test byte [eax + 0x14], 1
jne 0x42b496
jmp 0x42b480
mov ecx, eax
test eax, eax
jne 0x42b480
mov edi, dword [ebp - 0xb0]
imul edx, edi, 0x88
mov esi, edi
add edx, 0x645118
mov ecx, dword [edx]
test ecx, ecx
je 0x42b50b
test byte [ecx + 0x14], 1
je 0x42b4dd
nop dword [eax]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42b50b
test byte [ecx + 0x14], 1
jne 0x42b4d0
test ecx, ecx
je 0x42b50b
mov eax, dword [ecx + 0x10]
mov dword [ecx + 0x24], eax
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x42b505
test byte [eax + 0x14], 1
je 0x42b505
mov eax, dword [eax + 0x18]
mov ecx, eax
test eax, eax
je 0x42b505
test byte [eax + 0x14], 1
jne 0x42b4f4
jmp 0x42b4e1
mov ecx, eax
test eax, eax
jne 0x42b4e1
inc esi
add edx, 0x88
cmp esi, edi
jle 0x42b4c1
mov ecx, dword [ebp - 0xb0]
test ecx, ecx
js 0x42b5f7
imul edx, ecx, 0x88
add edx, 0x64513c
xor esi, esi
cmp dword [edx - 0x10], esi
jbe 0x42b563
test esi, esi
jne 0x42b542
mov dword [edx - 0xc], esi
mov eax, edx
jmp 0x42b556
mov eax, dword [edx]
lea ecx, [esi + esi*2]
shl ecx, 2
mov dword [ecx + eax - 0xc], 0
mov eax, dword [edx]
add eax, ecx
inc esi
mov dword [eax - 8], 0
cmp esi, dword [edx - 0x10]
jb 0x42b537
mov ecx, dword [edx - 0x24]
mov dword [edx + 0x1c], 0
mov dword [edx + 0x20], 0
mov dword [edx + 0x24], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov dword [edx + 0x34], 0
mov dword [edx + 0x30], 0
mov dword [edx + 0x28], 0
test ecx, ecx
je 0x42b5c3
test byte [ecx + 0x14], 1
je 0x42b5c3
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42b5c3
test byte [ecx + 0x14], 1
jne 0x42b5b6
mov eax, dword [edx - 0x24]
mov dword [edx - 0x1c], ecx
cmp eax, dword [0x64c0a0]
je 0x42b5d6
mov eax, dword [ecx + 0x10]
jmp 0x42b5d9
mov eax, dword [edx - 0x20]
mov dword [edx - 0x4c], eax
mov dword [edx - 0x48], eax
mov dword [edx - 0x18], eax
sub edx, 0x88
sub edi, 1
jns 0x42b530
mov ecx, dword [ebp - 0xb0]
xor eax, eax
mov dword [0x64bcc0], 0xffffffff
cmp dword [ebp - 0x104], eax
mov edx, 1
cmovne eax, edx
cmp dword [0x64d228], 0
mov dword [ebp - 0x158], eax
mov eax, dword [0x64c0a0]
mov eax, dword [eax]
mov dword [0x64bcc4], eax
je 0x42b63e
cmp dword [0x64d224], edx
jne 0x42b63e
mov eax, dword [0x64d1f0]
xor eax, 0x20
je 0x42b640
mov eax, edx
cmp dword [0x64e308], 5
mov dword [0x6450b8], eax
mov dword [0x64be44], 0
jl 0x42b689
mov eax, dword [0x64e310]
test al, 1
je 0x42b689
cmp ecx, 1
jne 0x42b689
xor ecx, ecx
mov byte [ebp - 0xb9], dl
push 0x90
push ecx
push 0x64d030
mov dword [ebp - 0x100], ecx
call fcn.004371b0
add esp, 0xc
jmp 0x42b698
xor ecx, ecx
mov byte [ebp - 0xb9], 0
mov dword [ebp - 0x100], ecx
cmp dword [0x64e30c], 5
jl 0x42b6b1
mov eax, dword [0x64e314]
mov byte [ebp - 0xc5], 1
test al, 1
jne 0x42b6b8
mov byte [ebp - 0xc5], 0
mov edx, dword [ebp - 0xd8]
mov ecx, ebx
mov eax, dword [ebp - 0xac]
mov esi, dword [ebp - 0xec]
nop dword [eax]
cmp ebx, edx
jb 0x42b793
cmp dword [esi + 0x28], 0
jne 0x42b6e9
mov eax, dword [esi]
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0xac]
push ecx
push ebx
push eax
push dword [ebp - 0xfc]
mov dword [esi], ecx
call fcn.004327c0
xor eax, eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0xfc], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x42c11b
test byte [eax + 0x14], 1
je 0x42b73c
nop dword [eax + eax]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x42c11b
test byte [eax + 0x14], 1
jne 0x42b720
mov esi, dword [esi + 0x18]
mov dword [ebp - 0xec], esi
jmp 0x42b751
test eax, eax
je 0x42c11b
mov esi, dword [esi + 0x18]
mov dword [ebp - 0xec], esi
test esi, esi
je 0x42b76a
test byte [esi + 0x14], 1
je 0x42b76a
mov esi, dword [esi + 0x18]
test esi, esi
je 0x42b764
test byte [esi + 0x14], 1
jne 0x42b757
mov dword [ebp - 0xec], esi
mov ebx, dword [esi + 0x10]
mov ecx, ebx
mov edx, dword [esi]
mov eax, ebx
sub eax, dword [0x64c0bc]
shr eax, 0xb
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xac], eax
jmp 0x42b6d0
xor esi, esi
xor edi, edi
xor edx, edx
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xc0], edx
test byte [ebx], 1
je 0x42bfe6
mov dword [ebp - 0xdc], ecx
mov eax, ebx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x124], 0
test esi, esi
jne 0x42b80d
test edi, edi
jne 0x42b80d
sub eax, ecx
mov dword [ebx - 0xc], edi
mov dword [ebx - 8], edi
mov dword [ebx - 0x10], eax
test dword [ebx - 4], 0x20000000
je 0x42b880
xor esi, esi
cmp dword [ebp - 0xd4], esi
jne 0x42b824
test edi, edi
je 0x42b829
mov esi, 1
mov dword [ebp - 0x134], 1
mov dword [ebp - 0xd4], 0
test edi, edi
je 0x42b84d
mov dword [ebp - 0xb4], 1
jmp 0x42b8b8
push edx
push esi
push ebx
mov dword [ebp - 0xe8], 1
mov dword [ebp - 0xe4], ebx
call fcn.00420dd0
test esi, esi
je 0x42b8b8
mov dword [ebx - 0xc], 0
mov dword [ebx - 8], 0
mov dword [ebx - 0x10], 0xc
jmp 0x42b8b8
test edi, edi
je 0x42b8a6
push ebx
push edx
push dword [ebp - 0xe4]
call fcn.00430d00
mov dword [ebx - 0xc], 0
mov dword [ebx - 8], 0
mov dword [ebx - 0x10], 0xc
xor eax, eax
mov dword [ebp - 0xd4], 1
mov dword [ebp - 0xe8], eax
mov esi, ebx
mov ebx, dword [ebp - 0x134]
mov ecx, dword [esi]
mov edi, ecx
and edi, 1
je 0x42b951
mov edx, dword [esi - 4]
mov eax, edx
shr eax, 0x1d
and eax, 1
cmp eax, ebx
jne 0x42b951
test eax, eax
je 0x42b8e9
and edx, 0xdfffffff
mov dword [esi - 4], edx
and ecx, 0xfffffffc
mov dword [ebp - 0xc0], esi
mov dword [esi], ecx
mov eax, dword [ecx]
test eax, eax
jns 0x42b903
movzx edx, ax
imul edx, dword [esi + 4]
jmp 0x42b905
xor edx, edx
mov eax, dword [ecx + 4]
add eax, 3
add eax, edx
and eax, 0xfffffffc
add esi, eax
prefetcht0 byte [esi]
cmp esi, dword [ebp - 0xd8]
jb 0x42b8c0
xor eax, eax
mov edx, esi
mov ecx, esi
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xb8], ecx
test ebx, ebx
je 0x42b996
test eax, eax
je 0x42b979
and dword [esi], 0xfffffffc
mov edx, dword [esi]
mov dword [ebp - 0xc0], esi
mov eax, dword [edx]
test eax, eax
jns 0x42b964
movzx ecx, ax
imul ecx, dword [esi + 4]
jmp 0x42b966
cmp esi, dword [ebp - 0xd8]
jae 0x42b91d
test edi, edi
je 0x42b91d
mov eax, 1
jmp 0x42b91f
xor ecx, ecx
mov eax, dword [edx + 4]
add eax, 3
add eax, ecx
and eax, 0xfffffffc
mov dword [ebp - 0x12c], eax
add esi, eax
mov edi, dword [ebp - 0xf8]
mov eax, esi
mov ebx, eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xa8], eax
sub ebx, edi
jmp 0x42ba60
mov edi, dword [ebp - 0xf8]
test eax, eax
je 0x42b9b4
mov dword [ebp - 0x130], 1
mov ebx, ecx
mov dword [ebp - 0xa8], ecx
jmp 0x42b9de
mov eax, dword [ebp - 0xc0]
mov ebx, edx
mov dword [ebp - 0xb8], edx
mov esi, edx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
sub ebx, edi
cmp dword [ebp - 0x118], 0
je 0x42ba60
cmp dword [0x64d224], 2
jne 0x42ba60
mov eax, dword [ebp - 0xa4]
cmp ebx, 0x1000
jbe 0x42ba66
mov ecx, edi
sub ecx, dword [eax]
cmp ebx, 0x8000
jbe 0x42ba66
test ecx, ecx
jle 0x42ba66
mov eax, ebx
shr eax, 4
cmp ecx, eax
jae 0x42ba60
cmp dword [ebp - 0xe4], 0
je 0x42ba2e
mov dword [ebp - 0xb4], 1
jmp 0x42ba3e
push 0
push 0
push edi
call fcn.00420dd0
mov dword [ebp - 0xe4], edi
xor eax, eax
mov dword [ebp - 0xe8], 1
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x134], 1
mov dword [ebp - 0x124], ebx
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x158], 0
je 0x42bace
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 0xc
push eax
mov dword [ebp - 0x158], 0
call fcn.00417c20
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x74], eax
mov eax, dword [ebp - 0xa4]
mov dword [ecx + 0x78], 0xc
mov ecx, dword [eax + 4]
mov edx, dword [eax]
sub ecx, edx
test edi, edi
je 0x42bab5
mov eax, edi
sub eax, edx
cmp ecx, eax
cmova ecx, eax
cmp ecx, 0xc
jae 0x42bace
mov edx, dword [ebp - 0xf0]
lea eax, [ecx + 0xc]
mov dword [edx + 0x78], eax
mov eax, dword [ebp - 0xa4]
add dword [eax], ecx
mov ecx, dword [ebp - 0xec]
cmp ecx, dword [0x64c0a0]
jne 0x42bb04
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xd0]
push eax
push edi
call fcn.0042d330
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x10c], 0
lea eax, [edx + edx*2]
shl eax, 5
mov dword [ebp - 0x140], eax
add dword [eax + 0x64be6c], ebx
cmp dword [ebp - 0x134], 0
jne 0x42bc7a
cmp dword [ebp - 0x118], 0
push edi
je 0x42bb62
xor eax, eax
cmp dword [ebp - 0x130], eax
push ecx
cmovne eax, dword [ebp - 0xa8]
push eax
lea eax, [ebp - 0x104]
push eax
push edx
jmp 0x42bbc4
push edx
push ebx
push dword [ebp - 0xc4]
call fcn.00418320
mov edi, eax
test edi, edi
je 0x42bb7c
mov eax, 1
jmp 0x42bbd8
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x118]
cmp dword [ecx + 0x3c], 1
mov ecx, 1
cmove eax, ecx
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0xf8]
push eax
push dword [ebp - 0xec]
xor eax, eax
cmp dword [ebp - 0x130], eax
cmovne eax, dword [ebp - 0xa8]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0xcc]
push ebx
push dword [ebp - 0xa4]
call fcn.00417c20
mov edi, eax
mov eax, dword [ebp - 0x10c]
cmp byte [ebp - 0xb9], 0
je 0x42bc18
test eax, eax
jne 0x42bc18
mov edx, dword [ebp - 0xc4]
mov eax, ebx
mov ecx, dword [edx + 0x38]
shr eax, cl
or eax, 1
bsr ecx, eax
mov eax, dword [edx + 0x3c]
dec eax
cmp eax, ecx
cmovb ecx, eax
lea eax, [ecx + ecx*2]
inc dword [eax*4 + 0x64d034]
add dword [eax*4 + 0x64d038], ebx
add dword [ebp - 0x100], ebx
cmp dword [ebp - 0x104], 0
je 0x42bc51
mov edi, dword [ebp - 0xf8]
xor eax, eax
push eax
push eax
push edi
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xe8], 1
mov dword [ebp - 0x124], ebx
call fcn.00420dd0
mov ecx, edi
mov dword [ebp - 0xe4], edi
jmp 0x42bcaa
mov ebx, dword [ebp - 0xf8]
test edi, edi
je 0x42be66
test byte [ebx], 1
je 0x42be66
mov ecx, dword [ebp - 0x140]
add dword [ecx + 0x64be7c], 0xc
jmp 0x42be66
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], ecx
cmp byte [ebp - 0xc5], 0
je 0x42bd6f
cmp dword [ebp - 0xb4], 0
je 0x42bccc
mov dword [ebp - 0x10c], 0
jmp 0x42bcd5
mov eax, dword [edi - 0x10]
mov dword [ebp - 0x10c], eax
cmp dword [0x64e30c], 5
jl 0x42bd6f
mov eax, dword [0x64e314]
test al, 1
je 0x42bd6f
call fcn.00409750
push dword [ebp - 0x10c]
mov ecx, eax
push esi
mov edx, dword [eax]
push edi
call dword [edx + 0x40]
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xb4], 0
je 0x42bdd7
test ecx, ecx
je 0x42be1e
imul eax, dword [0x64ba8c], 0x4c
mov ecx, dword [0x64c058]
mov dword [ebp - 0x10c], ecx
lea edi, [ecx - 0x48]
add edi, eax
mov dword [ebp - 0x104], edi
cmp dword [eax + ecx - 4], 0
je 0x42bdd3
mov edx, dword [eax + ecx - 0x4c]
mov dword [eax + ecx - 4], 0
mov ecx, dword [edi]
mov edi, dword [ebp - 0x10c]
movq xmm0, qword [eax + edi - 0x2c]
movq qword [edx + ecx - 0x10], xmm0
mov eax, dword [eax + edi - 0x24]
mov edi, dword [ebp - 0x104]
mov dword [edx + ecx - 8], eax
add dword [edi], ebx
jmp 0x42be1e
imul ecx, dword [0x64ba8c], 0x4c
mov eax, dword [0x64c058]
mov edx, dword [ebp - 0xa4]
mov dword [ecx + eax + 4], ebx
mov ecx, dword [0x64ba8c]
inc ecx
mov dword [0x64ba8c], ecx
test edx, edx
je 0x42be1e
mov eax, dword [0x64ba90]
cmp eax, ecx
je 0x42be1e
imul ecx, eax, 0x4c
mov eax, dword [0x64c058]
mov eax, dword [ecx + eax]
cmp eax, dword [edx]
jb 0x42be1e
cmp eax, dword [edx + 4]
jae 0x42be1e
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x140]
mov eax, esi
mov ebx, dword [ebp - 0xf8]
sub eax, ebx
mov edi, ebx
add dword [ecx + 0x64be70], eax
mov eax, dword [ebp - 0x12c]
add dword [ecx + 0x64be78], eax
mov eax, dword [ebp - 0x124]
add dword [ecx + 0x64be74], eax
cmp dword [0x6450b8], 0
jne 0x42be66
cmp dword [ebp - 0xcc], 1
jne 0x42be66
mov dword [0x64bcc8], esi
cmp dword [ebp - 0xb4], 0
jne 0x42bfbc
mov ecx, dword [ebp - 0xac]
mov eax, ebx
sub eax, dword [0x64c0bc]
shr eax, 0xb
cmp ecx, eax
je 0x42bead
push dword [ebp - 0xdc]
push ebx
push ecx
push dword [ebp - 0xfc]
call fcn.004327c0
mov dword [ebp - 0xac], eax
xor eax, eax
mov dword [ebp - 0x11c], eax
xor ecx, ecx
jmp 0x42beb9
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xfc]
mov edx, eax
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebx - 0xc]
sub edi, ebx
and eax, 1
or edi, eax
mov eax, dword [ebp - 0x108]
mov dword [ebx - 0xc], edi
test eax, eax
je 0x42bef6
mov eax, dword [eax - 0xc]
mov ecx, edi
and ecx, 0xfffffffc
and eax, 0xfffffffc
add ecx, dword [ebx - 0x10]
cmp eax, ecx
mov ecx, dword [ebp - 0xfc]
jne 0x42bef6
or edi, 2
mov dword [ebx - 0xc], edi
mov eax, dword [ebp - 0x11c]
test eax, eax
jne 0x42bf1c
mov ecx, ebx
inc eax
sub ecx, ebx
mov dword [ebp - 0x11c], eax
mov word [ebx - 8], cx
mov ecx, ebx
mov dword [ebp - 0xfc], ecx
jmp 0x42bfb6
inc eax
mov dword [ebp - 0x11c], eax
test eax, edx
jne 0x42bf3a
sub ecx, ebx
mov word [ebx - 8], cx
mov ecx, ebx
mov dword [ebp - 0xfc], ecx
jmp 0x42bfb6
test al, 1
je 0x42bf4e
mov ecx, dword [ebp - 0x108]
mov eax, ebx
sub eax, ecx
mov word [ecx - 6], ax
jmp 0x42bfb6
mov edx, ecx
mov ecx, eax
shr ecx, 1
and eax, 0x5555
and ecx, 0x5555
add ecx, eax
mov eax, ecx
and ecx, 0x3333
shr eax, 2
and eax, 0x3333
add eax, ecx
mov ecx, eax
and eax, 0xf0f
shr ecx, 4
and ecx, 0xf0f
add ecx, eax
movzx eax, cl
shr ecx, 8
add ecx, 0xfffffffe
add ecx, eax
je 0x42bf9d
movsx eax, word [edx - 6]
add edx, eax
sub ecx, 1
jne 0x42bf92
mov ax, word [edx - 6]
sub ax, bx
movzx ecx, dx
add ax, cx
mov word [ebx - 8], ax
mov eax, ebx
sub eax, ecx
mov word [edx - 6], ax
mov dword [ebp - 0x108], ebx
cmp esi, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xd4]
jb 0x42b7b1
cmp dword [ebp - 0x144], 0
mov eax, dword [0x64baa0]
je 0x42c046
mov ecx, dword [ebp - 0x128]
cmp ecx, eax
jae 0x42c011
nop
cmp dword [ecx], ebx
ja 0x42c00b
add ecx, 4
cmp ecx, eax
jb 0x42c000
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0xd8]
mov esi, edx
cmp ecx, eax
jae 0x42c01f
mov esi, dword [ecx]
mov eax, dword [0x6453a0]
test eax, eax
jne 0x42c10e
push esi
push ebx
call fcn.0041c350
mov edx, dword [ebp - 0xd8]
mov ebx, esi
mov ecx, dword [ebp - 0xa8]
jmp 0x42b6c0
mov edx, dword [ebp - 0xd8]
mov esi, ebx
mov eax, dword [0x6453a0]
cmp ebx, edx
jae 0x42c10e
test eax, eax
jne 0x42c0e0
test byte [esi], 1
jne 0x42c10e
cmp esi, dword [0x64c0ec]
jb 0x42c0a9
cmp esi, dword [0x64c0f0]
jae 0x42c0a9
mov ebx, dword [0x64c0d0]
mov ecx, esi
mov edi, esi
shr ecx, 3
shr edi, 8
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov edx, dword [ebx + edi*4]
test edx, eax
je 0x42c0a3
btr edx, ecx
mov dword [ebx + edi*4], edx
mov edx, dword [ebp - 0xd8]
mov eax, dword [esi]
and eax, 0xfffffffc
mov ecx, dword [eax]
test ecx, ecx
jns 0x42c0bd
movzx ecx, cx
imul ecx, dword [esi + 4]
jmp 0x42c0bf
xor ecx, ecx
mov eax, dword [eax + 4]
add eax, 3
add eax, ecx
and eax, 0xfffffffc
add esi, eax
prefetcht0 byte [esi]
cmp esi, edx
jb 0x42c063
mov ecx, dword [ebp - 0xa8]
mov ebx, esi
jmp 0x42b6c0
mov eax, dword [esi]
test al, 1
jne 0x42c10e
and eax, 0xfffffffc
mov ecx, dword [eax]
test ecx, ecx
jns 0x42c0f8
movzx ecx, cx
imul ecx, dword [esi + 4]
jmp 0x42c0fa
xor ecx, ecx
mov eax, dword [eax + 4]
add eax, 3
add eax, ecx
and eax, 0xfffffffc
add esi, eax
prefetcht0 byte [esi]
cmp esi, edx
jb 0x42c0e0
mov ecx, dword [ebp - 0xa8]
mov ebx, esi
jmp 0x42b6c0
mov edi, dword [0x64ba90]
mov esi, dword [ebp - 0xa4]
mov edx, dword [0x64c0a0]
mov dword [ebp - 0xa8], esi
cmp edi, dword [0x64ba8c]
je 0x42c352
mov ebx, dword [ebp - 0xd0]
mov eax, dword [0x64d228]
nop word [eax + eax]
test eax, eax
je 0x42c245
mov eax, dword [0x64c058]
imul ecx, edi, 0x4c
mov eax, dword [ecx + eax]
mov dword [ebp - 0xdc], eax
cmp eax, dword [edx + 0x10]
jb 0x42c245
cmp eax, dword [edx + 8]
jae 0x42c245
mov ecx, dword [esi + 0x30]
cmp ecx, edx
je 0x42c1b0
mov eax, dword [esi]
mov esi, 0x645178
mov dword [ecx + 0x24], eax
mov edx, dword [0x64c0a0]
mov edi, dword [0x64ba90]
mov eax, dword [edx + 0x10]
mov dword [0x645178], eax
mov dword [0x64517c], eax
mov dword [0x6451ac], eax
mov dword [0x6451a8], edx
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], esi
test ebx, ebx
jle 0x42c245
imul edi, ebx, 0x88
add edi, 0x645168
dec ebx
lea edi, [edi - 0x88]
cmp ebx, 1
jne 0x42c1f5
cmp dword [0x6450b8], 0
mov eax, dword [0x64527c]
mov dword [0x64c200], eax
jne 0x42c1f5
push esi
call fcn.00417860
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 0xc
push esi
call fcn.00417c20
mov dword [edi - 4], eax
mov dword [edi], 0xc
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
cmp ecx, 0xc
jae 0x42c221
lea eax, [ecx + 0xc]
mov dword [edi], eax
add dword [esi], ecx
cmp dword [0x64bcc0], 0xffffffff
jne 0x42c235
mov eax, dword [ebp - 0xdc]
mov dword [0x64bcc0], eax
test ebx, ebx
jg 0x42c1d0
mov edx, dword [0x64c0a0]
mov edi, dword [0x64ba90]
cmp edi, dword [0x64ba8c]
je 0x42c352
lea eax, [edi + 1]
mov dword [0x64ba90], eax
mov ecx, dword [esi + 0x30]
imul eax, edi, 0x4c
add eax, dword [0x64c058]
mov dword [ebp - 0xdc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xd0], eax
test ecx, ecx
je 0x42c290
test byte [ecx + 0x14], 1
je 0x42c290
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42c290
test byte [ecx + 0x14], 1
jne 0x42c280
nop dword [eax]
mov edx, dword [esi]
cmp edi, edx
jb 0x42c29a
cmp edi, dword [ecx]
jb 0x42c2c7
mov dword [ecx + 0x24], edx
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42c2bd
test byte [ecx + 0x14], 1
je 0x42c2bd
nop word [eax + eax]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42c2bd
test byte [ecx + 0x14], 1
jne 0x42c2b0
mov dword [esi + 0x30], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi], eax
jmp 0x42c290
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx]
sub eax, edx
mov dword [ecx + 0x40], edx
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xd0]
add eax, edi
mov dword [esi], eax
mov dword [esi + 4], eax
mov edx, dword [0x64c0a0]
cmp edi, dword [edx + 0x10]
jb 0x42c33b
cmp edi, dword [edx + 8]
jae 0x42c33b
cmp edi, dword [0x6451a4]
jb 0x42c33b
xor ecx, ecx
mov eax, 0x64511c
cmp edi, dword [eax]
jae 0x42c31b
add eax, 0x88
inc ecx
cmp eax, 0x6451a4
jl 0x42c303
mov ecx, 1
jmp 0x42c320
cmp ecx, 2
je 0x42c33b
mov eax, dword [0x64d228]
test eax, eax
je 0x42c340
imul eax, ecx, 0x88
mov ecx, dword [ebp - 0xd0]
add dword [eax + 0x6451f8], ecx
mov eax, dword [0x64d228]
mov edi, dword [0x64ba90]
cmp edi, dword [0x64ba8c]
jne 0x42c150
mov ebx, dword [0x64d224]
test ebx, ebx
js 0x42c3f3
imul edi, ebx, 0x88
add edi, 0x645168
nop dword [eax]
cmp ebx, 2
jae 0x42c3aa
mov ecx, dword [esi + 0x30]
cmp ecx, edx
je 0x42c3a4
mov eax, dword [esi]
mov esi, 0x645178
mov dword [ecx + 0x24], eax
mov edx, dword [0x64c0a0]
mov eax, dword [edx + 0x10]
mov dword [0x645178], eax
mov dword [0x64517c], eax
mov dword [0x6451ac], eax
mov dword [0x6451a8], edx
mov dword [ebp - 0xa4], esi
cmp dword [edi - 4], 0
jne 0x42c3e2
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 0xc
push esi
call fcn.00417c20
mov dword [edi - 4], eax
mov dword [edi], 0xc
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
cmp ecx, 0xc
jae 0x42c3dc
lea eax, [ecx + 0xc]
mov dword [edi], eax
add dword [esi], ecx
mov edx, dword [0x64c0a0]
sub edi, 0x88
sub ebx, 1
jns 0x42c370
mov dword [ebp - 0xa8], esi
mov eax, dword [esi]
push 0x613814
mov dword [edx + 0x24], eax
call fcn.0041fbb0
cmp dword [0x64d224], 1
jne 0x42c48a
mov ecx, dword [0x645258]
mov edi, dword [0x64525c]
sub ecx, dword [ebp - 0x120]
sub edi, dword [ebp - 0xf4]
mov eax, dword [0x645254]
sub eax, dword [ebp - 0x13c]
mov ebx, dword [0x64526c]
sub ebx, dword [ebp - 0x138]
mov dword [ebp - 0xdc], eax
lea eax, [edi + ecx]
test eax, eax
je 0x42c452
mov byte [0x64bab2], 1
cmp dword [0x64d238], 0
mov eax, 0x64c1c8
mov edx, 0x64cff0
cmove edx, eax
mov eax, dword [ebp - 0xdc]
mov dword [edx], eax
mov eax, dword [0x64527c]
mov dword [edx + 8], ecx
mov ecx, dword [0x64c200]
sub eax, ecx
mov dword [edx + 4], ebx
mov dword [edx + 0xc], edi
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], eax
mov edi, dword [0x64c0a0]
mov eax, dword [esi]
mov ecx, dword [edi + 0x10]
cmp eax, ecx
jb 0x42c4ac
cmp eax, dword [edi + 8]
jae 0x42c4ac
mov edx, dword [edi]
cmp eax, edx
ja 0x42c4a8
sub edx, eax
jmp 0x42c4b0
xor edx, edx
jmp 0x42c4b0
mov edx, dword [edi]
sub edx, ecx
imul eax, dword [ebp - 0xb0], 0x88
mov ecx, dword [eax + 0x645118]
test ecx, ecx
je 0x42c4dd
test byte [ecx + 0x14], 1
je 0x42c4dd
nop word [eax + eax]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42c4dd
test byte [ecx + 0x14], 1
jne 0x42c4d0
cmp ecx, edi
je 0x42c506
mov eax, dword [ecx]
sub eax, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x18]
add edx, eax
test ecx, ecx
je 0x42c502
test byte [ecx + 0x14], 1
je 0x42c502
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42c502
test byte [ecx + 0x14], 1
jne 0x42c4f5
cmp ecx, edi
jne 0x42c4e1
mov ecx, dword [0x64ba90]
xor edi, edi
xor ebx, ebx
xor eax, eax
cmp ecx, 2
jb 0x42c560
mov eax, dword [0x64c058]
add ecx, 0xfffffffe
shr ecx, 1
add eax, 0x50
inc ecx
lea esi, [ecx + ecx]
mov dword [ebp - 0xdc], esi
mov esi, dword [ebp - 0xa8]
nop dword [eax]
nop dword [eax + eax]
add edi, dword [eax - 0x4c]
lea eax, [eax + 0x98]
add ebx, dword [eax - 0x98]
sub ecx, 1
jne 0x42c540
mov eax, dword [ebp - 0xdc]
mov ecx, dword [0x64ba90]
cmp eax, ecx
jae 0x42c571
mov ecx, dword [0x64c058]
imul eax, eax, 0x4c
add edx, dword [eax + ecx + 4]
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xb4], 0
push eax
lea eax, [edi + ebx]
mov dword [0x64bccc], 0
mov edi, dword [ebp - 0xb0]
add eax, edx
push eax
push edi
call fcn.0041f600
mov ebx, eax
mov dword [ebp - 0xac], ebx
cmp edi, 2
jne 0x42c602
cmp dword [0x64d230], 0
je 0x42c5db
cmp dword [0x64d238], 0
mov eax, 0x64d018
mov ecx, 0x64c1f0
mov ebx, 1
cmove eax, ecx
mov dword [ebp - 0xac], ebx
mov dword [eax], 0x80000008
jmp 0x42c5eb
push 3
push 0
call fcn.00409640
push 3
call fcn.00431c80
push 4
push 0
call fcn.00409640
push 4
call fcn.00431c80
call fcn.0042e030
jmp 0x42c60c
mov dword [0x64d230], 0
cmp byte [0x64bab2], 0
je 0x42c652
cmp byte [0x64bd2c], 0
je 0x42c652
mov eax, dword [0x64e274]
test eax, eax
jne 0x42c646
mov eax, dword [0x64e278]
cmp eax, 1
je 0x42c646
mov esi, dword [ebp - 0xa4]
mov byte [0x64bd2d], 1
mov dword [ebp - 0xa8], esi
jmp 0x42c6b0
mov esi, dword [ebp - 0xa4]
mov dword [ebp - 0xa8], esi
mov edx, dword [0x64bcc4]
cmp edx, dword [0x64bcc0]
sbb eax, eax
inc eax
mov dword [0x64d23c], eax
cmp edx, dword [0x64bcc0]
jb 0x42c696
mov eax, dword [0x64d238]
mov edx, 0x64c1f4
mov ecx, dword [0x64c1f4]
test eax, eax
cmovne ecx, dword [0x64d01c]
or ecx, 2
test eax, eax
mov eax, 0x64d01c
cmove eax, edx
mov dword [eax], ecx
test ebx, ebx
je 0x42c6b0
cmp edi, 2
jne 0x42c6b0
inc dword [0x64d350]
xorps xmm0, xmm0
movlpd qword [0x64c038], xmm0
cmp byte [0x64bdcc], 0
je 0x42c74a
call fcn.0040e410
mov ecx, eax
call fcn.00436030
movaps xmm1, xmm0
xorps xmm0, xmm0
mulsd xmm1, qword [0x64dd38]
movlpd qword [ebp - 0xe0], xmm0
movsd xmm0, qword [0x6114e8]
comisd xmm1, xmm0
jb 0x42c70e
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x42c70e
mov edi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xdc]
add edi, 0
adc ebx, 0x80000000
jmp 0x42c71a
mov ebx, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xe0]
movaps xmm0, xmm1
call fcn.00435f30
mov ecx, dword [0x64dcd0]
add eax, edi
adc edx, ebx
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
mov edx, dword [0x64dcd0]
mov ecx, dword [edx + 0x30]
sub ecx, dword [edx + 0x28]
mov eax, dword [edx + 0x34]
sbb eax, dword [edx + 0x2c]
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], eax
mov ebx, dword [ebp - 0xb0]
mov dword [0x64be50], 0
cmp ebx, 2
jne 0x42c7c0
cmp dword [0x64d230], 0
je 0x42c799
mov edi, dword [ebp - 0xac]
test edi, edi
je 0x42c787
call fcn.0042ab40
test eax, eax
je 0x42c787
mov dword [0x64be50], 1
jmp 0x42c7c6
push 3
push 0
call fcn.00409640
push 3
call fcn.00431c80
jmp 0x42c7c6
mov eax, dword [0x64c094]
test eax, eax
je 0x42c7c0
sub dword [0x6450c4], 1
jne 0x42c7c0
push 0x4c
push eax
call fcn.00436072
add esp, 8
mov dword [0x64c094], 0
mov edi, dword [ebp - 0xac]
cmp byte [0x64bd2d], 0
jne 0x42c827
cmp byte [0x64bd7f], 0
je 0x42c827
cmp byte [0x64bd2c], 0
je 0x42c827
cmp dword [0x64d224], 1
jne 0x42c850
mov ecx, dword [0x64d220]
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
jne 0x42c81b
mov eax, dword [0x64e274]
test eax, eax
jne 0x42c81b
mov eax, dword [0x64e278]
cmp eax, 1
je 0x42c81b
mov byte [0x64bd2d], 1
mov esi, dword [ebp - 0xa4]
mov dword [ebp - 0xa8], esi
cmp dword [0x64d224], 1
jne 0x42c850
cmp byte [0x64bd2c], 0
je 0x42c843
mov dword [ebp - 0xb4], 0
cmp byte [0x64bd2d], 0
jne 0x42cfb0
test edi, edi
je 0x42cfb0
cmp dword [ebp - 0xb4], 0
je 0x42c8bb
call fcn.00431610
mov edi, eax
test edi, edi
je 0x42c882
push edi
push esi
push ebx
call fcn.00421370
mov esi, eax
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], esi
cmp dword [0x64c0a0], edi
je 0x42c8bb
cmp dword [0x64d398], 0
jne 0x42c8b1
cmp ebx, 2
je 0x42c8b1
mov eax, dword [0x64d25c]
cmp eax, 2
je 0x42c8b1
cmp eax, 3
je 0x42c8b1
mov dword [0x64d398], 1
mov dword [ebp - 0xb4], 0
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ecx]
mov dword [ecx + 4], eax
cmp ebx, 2
jge 0x42cb42
mov ebx, dword [ebp - 0xc4]
mov eax, dword [ebx + 0x3c]
cmp eax, 1
je 0x42c941
xor edi, edi
test eax, eax
je 0x42c941
test edi, edi
jne 0x42c8ef
mov edx, dword [ebx + 0x40]
lea eax, [ebx + 0x48]
jmp 0x42c901
mov eax, dword [ebx + 0x4c]
lea ecx, [edi + edi*2]
shl ecx, 2
mov edx, dword [eax + ecx - 0xc]
add eax, 0xfffffffc
add eax, ecx
mov eax, dword [eax]
test edx, edx
je 0x42c920
test eax, eax
je 0x42c920
cmp dword [edx - 4], 1
je 0x42c919
mov dword [edx - 4], 1
dec eax
mov edx, dword [edx + 8]
test edx, edx
jne 0x42c907
test edi, edi
jne 0x42c929
lea eax, [ebx + 0x48]
jmp 0x42c935
mov eax, dword [ebx + 0x4c]
lea ecx, [edi + edi*2]
lea eax, [eax + ecx*4]
add eax, 0xfffffffc
inc edi
mov dword [eax], 0
cmp edi, dword [ebx + 0x3c]
jb 0x42c8e3
push ebx
call fcn.004225e0
cmp byte [ebp - 0xb9], 0
je 0x42cb3c
xor ebx, ebx
mov edi, 0x64d038
xor edx, edx
nop dword [eax]
mov eax, dword [edi - 4]
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x42c99d
cmp dx, bx
je 0x42c998
mov ecx, dword [edi]
mov esi, dword [ebp - 0xdc]
movzx eax, bx
lea eax, [eax + eax*2]
mov word [eax*4 + 0x64d030], dx
mov dword [eax*4 + 0x64d034], esi
mov dword [eax*4 + 0x64d038], ecx
jmp 0x42c99c
mov word [edi - 8], dx
inc ebx
inc edx
add edi, 0xc
cmp dx, 0xc
jb 0x42c960
mov esi, dword [ebp - 0xa8]
test bx, bx
je 0x42c9fb
cmp dword [0x64e308], 5
jl 0x42c9e1
mov eax, dword [0x64e310]
test al, 1
je 0x42c9e1
call fcn.00409750
mov ecx, dword [ebp - 0x100]
push 0x64d030
push 0xc
mov edx, dword [eax]
push ebx
push ecx
push 1
mov ecx, eax
call dword [edx + 0x4c]
push 0x90
push 0
push 0x64d030
call fcn.004371b0
mov esi, dword [ebp - 0xa4]
add esp, 0xc
mov edx, dword [ebp - 0xc4]
xor ebx, ebx
mov dword [ebp - 0xb8], ebx
mov eax, dword [edx + 0x68]
shr eax, 2
mov dword [ebp - 0xdc], eax
mov eax, dword [edx + 0x3c]
sub eax, 1
mov dword [ebp - 0xac], eax
js 0x42caff
nop word [eax + eax]
xor edi, edi
mov dword [ebp - 0xd0], edi
test eax, eax
jne 0x42ca41
lea ecx, [edx + 0x40]
jmp 0x42ca53
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x4c]
lea ecx, [ecx - 3]
lea ecx, [eax + ecx*4]
mov eax, dword [ebp - 0xac]
mov ecx, dword [ecx]
test ecx, ecx
je 0x42caf0
nop dword [eax]
mov eax, dword [ecx]
and eax, 0xfffffffc
mov edx, dword [eax]
test edx, edx
jns 0x42ca74
movzx edx, dx
imul edx, dword [ecx + 4]
jmp 0x42ca76
xor edx, edx
mov eax, dword [eax + 4]
add edx, 3
add eax, edx
inc edi
mov edx, dword [ebp - 0xd0]
and eax, 0xfffffffc
add ebx, eax
add edx, eax
mov dword [ebp - 0xd0], edx
cmp ebx, dword [ebp - 0xdc]
ja 0x42cb71
cmp edi, 0x7d0
ja 0x42cb71
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x42ca60
test edi, edi
je 0x42cae4
mov ecx, dword [ebp - 0xb8]
movzx eax, cx
inc ecx
mov dword [ebp - 0xb8], ecx
mov ecx, dword [ebp - 0xac]
lea eax, [eax + eax*2]
mov word [eax*4 + 0x64d030], cx
mov dword [eax*4 + 0x64d034], edi
mov dword [eax*4 + 0x64d038], edx
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xac]
sub eax, 1
mov dword [ebp - 0xac], eax
jns 0x42ca30
mov eax, dword [ebp - 0xb8]
movzx edi, ax
test di, di
je 0x42cb3c
cmp dword [0x64e308], 5
jl 0x42cb36
mov eax, dword [0x64e310]
test al, 1
je 0x42cb36
call fcn.00409750
push 0x64d030
push 0xc
push edi
mov edx, dword [eax]
mov ecx, eax
push ebx
push 0
call dword [edx + 0x4c]
mov esi, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0xb0]
push 1
push 0
call fcn.004095f0
mov edi, dword [ebp - 0x110]
push edi
push ebx
call fcn.0042ee20
cmp dword [0x64d23c], 0
jne 0x42cba5
cmp dword [0x64d228], 0
je 0x42cba5
mov eax, 1
jmp 0x42cba7
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xac]
movzx eax, ax
lea eax, [eax + eax*2]
mov word [eax*4 + 0x64d030], cx
mov dword [eax*4 + 0x64d034], edi
mov dword [eax*4 + 0x64d038], edx
mov eax, dword [ebp - 0xb8]
inc eax
jmp 0x42cb05
xor eax, eax
push eax
push edi
push ebx
call fcn.0041e460
push esi
push ebx
call fcn.00422400
cmp ebx, 1
jl 0x42cbe4
push 1
call fcn.0042dde0
cmp dword [ebp - 0xb4], 0
je 0x42cbe4
mov eax, dword [0x64c0a0]
mov dword [0x645118], eax
mov dword [0x645120], eax
mov dword [0x6451a0], eax
mov dword [0x6451a8], eax
cmp byte [0x64bdcc], 0
je 0x42cc72
call fcn.0040e410
mov ebx, dword [0x64dcd0]
mov ecx, eax
call fcn.00436030
movaps xmm1, xmm0
xorps xmm0, xmm0
mulsd xmm1, qword [0x64dd38]
movlpd qword [ebp - 0x114], xmm0
movsd xmm0, qword [0x6114e8]
comisd xmm1, xmm0
jb 0x42cc48
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x42cc48
mov esi, dword [ebp - 0x114]
mov edi, dword [ebp - 0x110]
add esi, 0
adc edi, 0x80000000
jmp 0x42cc54
mov edi, dword [ebp - 0x110]
mov esi, dword [ebp - 0x114]
movaps xmm0, xmm1
call fcn.00435f30
add eax, esi
adc edx, edi
sub eax, dword [ebx + 0x38]
mov dword [ebx + 0x38], eax
sbb edx, dword [ebx + 0x3c]
mov dword [ebx + 0x3c], edx
mov ebx, dword [ebp - 0xb0]
cmp dword [0x64d23c], 0
jne 0x42cc8b
cmp dword [0x64d228], 0
je 0x42cc8b
mov eax, 1
jmp 0x42cc8d
xor eax, eax
mov ecx, dword [0x64c0a4]
push eax
push ebx
call fcn.00416bd0
cmp dword [0x64d228], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 3
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 1
mov word [ebp - 0x16c], 0
je 0x42cd02
cmp dword [0x64d23c], 0
jne 0x42cd0b
lea eax, [ebp - 0x17c]
push eax
push 2
push ebx
call fcn.00435470
jmp 0x42cd1a
cmp dword [0x64d23c], 0
je 0x42cd1a
lea eax, [ebp - 0x17c]
push eax
push 2
push ebx
call fcn.004353e0
lea eax, [ebx + 1]
xor edx, edx
cmp eax, 2
mov dword [0x64ba90], edx
mov esi, 2
cmovl esi, eax
imul eax, esi, 0x88
mov dword [ebp - 0xb4], esi
lea ebx, [eax + 0x6450f0]
mov esi, dword [eax + 0x645094]
mov eax, dword [0x64c0a0]
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xb8], esi
mov eax, dword [eax]
mov dword [ebp - 0xdc], eax
cmp dword [0x64ba8c], edx
je 0x42d210
nop dword [eax]
mov eax, edx
lea edx, [eax + 1]
imul eax, eax, 0x4c
mov dword [0x64ba90], edx
add eax, dword [0x64c058]
mov ecx, dword [eax + 4]
mov edi, dword [eax]
sub edi, ecx
mov dword [ebp - 0xf0], ecx
test ecx, ecx
je 0x42cf9f
mov eax, dword [0x64b020]
mov dword [edi], eax
lea eax, [ecx - 0xc]
mov dword [edi + 4], eax
call fcn.0040f130
and eax, 1
xor edx, edx
or eax, edx
je 0x42cdc8
push dword [edi + 4]
lea eax, [edi + 8]
push 0xcc
push eax
call fcn.004371b0
add esp, 0xc
mov edx, dword [ebp - 0xf0]
mov eax, edi
sub eax, dword [0x64c0bc]
mov ecx, eax
add eax, edx
shr ecx, 0xb
shr eax, 0xb
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x128], eax
cmp eax, ecx
je 0x42ceb7
mov ebx, dword [ebp - 0x110]
mov eax, ecx
shl eax, 0xb
mov ecx, edi
sub ecx, eax
sub ecx, dword [0x64c0bc]
lea eax, [ebx + ebx]
mov dword [ebp - 0x108], eax
cmp ecx, 0xffff8001
jge 0x42ce63
mov dword [ebp - 0x108], eax
mov dword [ebp - 0xd0], 0xffff8001
mov eax, dword [0x64c0c8]
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0xd0]
mov word [ecx + eax], dx
mov edx, dword [ebp - 0xf0]
inc ebx
cmp ebx, dword [ebp - 0x128]
jae 0x42ceb1
or edx, 0xffffffff
lea esi, [ebx + ebx]
cmp edx, 0xffff8001
jge 0x42ce8a
mov ecx, 0xffff8001
jmp 0x42ce92
movzx eax, cx
mov dword [ebp - 0xd0], eax
test ecx, ecx
js 0x42ce2a
mov esi, dword [ebp - 0x108]
lea ecx, [eax + 1]
mov eax, dword [0x64c0c8]
mov word [esi + eax], cx
mov esi, dword [ebp - 0xb8]
jmp 0x42ce45
movzx ecx, dx
test edx, edx
js 0x42ce92
inc ecx
mov eax, dword [0x64c0c8]
inc ebx
dec edx
mov word [esi + eax], cx
cmp ebx, dword [ebp - 0x128]
jb 0x42ce51
mov esi, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xf0]
mov ebx, dword [ebp - 0xcc]
mov eax, dword [0x64c0a0]
cmp dword [eax + 0x10], edi
ja 0x42cf38
cmp dword [eax + 8], edi
jbe 0x42cf38
cmp esi, edi
ja 0x42cf4d
mov ecx, dword [ebp - 0xb4]
imul eax, ecx, 0x88
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xb8], esi
add eax, 0x6450f0
cmp ecx, edi
jbe 0x42cf4d
nop dword [eax + eax]
mov esi, dword [ebp - 0xb4]
sub eax, 0x88
dec esi
mov ebx, eax
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xcc], ebx
cmp esi, 1
jb 0x42cf2e
mov esi, dword [eax - 0x5c]
mov dword [ebp - 0xb8], esi
cmp esi, edi
jbe 0x42cf00
jmp 0x42cf4d
mov esi, ecx
mov dword [ebp - 0xb8], esi
jmp 0x42cf4d
mov ebx, 0x645200
mov dword [ebp - 0xb4], 2
mov dword [ebp - 0xcc], ebx
cmp dword [0x64d238], 0
jne 0x42cf65
cmp ebx, 0x6450f0
je 0x42cf65
mov ecx, 1
jmp 0x42cf67
xor ecx, ecx
xor eax, eax
cmp dword [ebx + 0x84], 2
sete al
push eax
push ecx
push edx
push edi
call fcn.00428550
mov eax, dword [ebp - 0xf0]
cmp eax, 0x18
jb 0x42cf96
add dword [ebx + 0x68], eax
lea ecx, [ebx + 0x38]
push eax
push edi
call fcn.00432020
jmp 0x42cf99
add dword [ebx + 0x6c], eax
mov edx, dword [0x64ba90]
cmp edx, dword [0x64ba8c]
jne 0x42cd70
jmp 0x42d210
mov dword [0x64d228], 1
mov dword [0x64d22c], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 3
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 1
mov word [ebp - 0x16c], 0
cmp ebx, 2
jge 0x42d119
mov esi, dword [ebp - 0xc4]
xor edi, edi
mov ebx, dword [esi + 0x3c]
test ebx, ebx
je 0x42d0ae
lea ecx, [edi + edi*2]
shl ecx, 2
test edi, edi
jne 0x42d037
mov edx, dword [esi + 0x48]
add esi, 0x40
jmp 0x42d043
mov eax, dword [esi + 0x4c]
mov edx, dword [eax + ecx - 4]
lea esi, [eax - 0xc]
add esi, ecx
movq xmm0, qword [ebp + ecx - 0xa0]
mov eax, dword [ebp + ecx - 0x98]
movq qword [esi], xmm0
mov dword [esi + 8], eax
cmp ebx, 1
je 0x42d09e
mov eax, dword [ebp - 0xc4]
test edi, edi
jne 0x42d06e
add eax, 0x40
jmp 0x42d076
mov eax, dword [eax + 0x4c]
add eax, 0xfffffff4
add eax, ecx
mov eax, dword [eax]
test eax, eax
je 0x42d09e
nop dword [eax]
test edx, edx
je 0x42d09e
mov esi, dword [eax - 4]
cmp esi, 1
je 0x42d097
dec edx
mov dword [eax + 8], esi
mov dword [eax - 4], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x42d080
mov esi, dword [ebp - 0xc4]
inc edi
cmp edi, dword [esi + 0x3c]
jb 0x42d025
mov eax, dword [ebp - 0x148]
mov ebx, dword [ebp - 0xb0]
mov dword [esi + 0x68], eax
mov eax, dword [ebp - 0x138]
mov dword [esi + 0x6c], eax
mov eax, dword [ebp - 0x13c]
mov dword [esi + 0x54], eax
mov eax, dword [ebp - 0x120]
mov dword [esi + 0x58], eax
mov eax, dword [ebp - 0xf4]
mov dword [esi + 0x5c], eax
lea eax, [ebx + ebx*2]
shl eax, 5
push esi
mov eax, dword [eax + 0x64be6c]
add dword [esi + 0x60], eax
mov eax, dword [ebp - 0x14c]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x150]
mov dword [esi], eax
mov eax, dword [ebp - 0x15c]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0x154]
mov dword [esi + 0x30], eax
call fcn.004225e0
push 0
push 0
call fcn.004095f0
push ebx
call fcn.00427fc0
call fcn.0042e480
test eax, eax
je 0x42d137
sub dword [0x64526c], eax
cmp byte [0x64bdcc], 0
je 0x42d1c5
call fcn.0040e410
mov ebx, dword [0x64dcd0]
mov ecx, eax
call fcn.00436030
movaps xmm1, xmm0
xorps xmm0, xmm0
mulsd xmm1, qword [0x64dd38]
movlpd qword [ebp - 0x114], xmm0
movsd xmm0, qword [0x6114e8]
comisd xmm1, xmm0
jb 0x42d19b
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x42d19b
mov esi, dword [ebp - 0x114]
mov edi, dword [ebp - 0x110]
add esi, 0
adc edi, 0x80000000
jmp 0x42d1a7
mov edi, dword [ebp - 0x110]
mov esi, dword [ebp - 0x114]
movaps xmm0, xmm1
call fcn.00435f30
add eax, esi
adc edx, edi
sub eax, dword [ebx + 0x30]
mov dword [ebx + 0x30], eax
sbb edx, dword [ebx + 0x34]
mov dword [ebx + 0x34], edx
mov ebx, dword [ebp - 0xb0]
lea eax, [ebp - 0x17c]
push eax
push 2
push ebx
call fcn.00435470
cmp ebx, 1
jl 0x42d1e0
push 0
call fcn.0042dde0
mov ecx, dword [0x64c0a4]
lea edx, [ebx + 1]
cmp edx, 2
mov esi, 2
cmovg edx, esi
test edx, edx
jle 0x42d210
mov eax, 4
sub eax, edx
lea esi, [ecx + eax*4]
mov eax, dword [esi + 4]
lea esi, [esi + 4]
dec edx
mov dword [esi - 4], eax
test edx, edx
jg 0x42d202
cmp dword [0x64d23c], 0
jne 0x42d23c
cmp dword [0x64d228], 0
je 0x42d23c
mov eax, dword [0x64511c]
shr eax, 7
push eax
mov eax, dword [0x6451a4]
add eax, 0x7f
shr eax, 7
push eax
call fcn.0041dd70
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00435c51
mov esp, ebp
pop ebp
ret 4