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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x17c
mov eax, dword [0x56bf00]
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 - 0x14c], 0
mov dword [ebp - 0xfc], eax
lea eax, [eax + 0x56ba80]
mov dword [ebp - 0xe4], eax
cmp edi, 2
jge 0x42a3d3
mov eax, dword [0x571150]
mov dword [ebp - 0xe8], eax
cmp eax, dword [0x57114c]
ja 0x42a3d3
mov ebx, dword [0x571148]
lea edi, [eax - 4]
push 0x64
push edi
push ebx
call fcn.004264d0
lea esi, [ebx + 4]
cmp esi, edi
ja 0x42a39a
mov ecx, dword [ebp - 0xe8]
mov edi, dword [esi]
mov eax, esi
cmp esi, ebx
jbe 0x42a38e
mov edx, dword [eax - 4]
cmp edi, edx
jae 0x42a388
mov dword [eax], edx
add eax, 0xfffffffc
cmp eax, ebx
ja 0x42a378
mov ecx, dword [ebp - 0xe8]
mov dword [eax], edi
add esi, 4
lea eax, [ecx - 4]
cmp esi, eax
jbe 0x42a370
mov ecx, dword [0x5728e8]
mov eax, 0x5726cc
mov edx, dword [0x5718a4]
test ecx, ecx
mov edi, dword [ebp - 0xb0]
cmovne edx, dword [0x5726cc]
or edx, 1
mov dword [ebp - 0x14c], 1
test ecx, ecx
mov ecx, 0x5718a4
cmove eax, ecx
mov dword [eax], edx
call fcn.00430e20
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe8], edi
lea eax, [eax + 0x56baac]
mov dword [ebp - 0xac], eax
cmp dword [0x571164], 0
mov ebx, dword [eax - 4]
je 0x42a5c0
test ebx, ebx
je 0x42a41d
test byte [ebx + 0x14], 1
je 0x42a41d
nop word [eax + eax]
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x42a41d
test byte [ebx + 0x14], 1
jne 0x42a410
mov esi, ebx
nop
mov edi, dword [esi + 0x10]
mov dword [esi + 0x28], 0
mov ecx, dword [0x56ba44]
cmp ecx, edi
jb 0x42a4da
cmp ecx, dword [esi + 8]
jae 0x42a4da
cmp esi, ebx
jne 0x42a47a
mov edi, dword [eax]
mov eax, dword [edi]
and eax, 0xfffffffc
mov dword [ebp - 0xfc], eax
mov eax, dword [eax]
movzx edx, ax
test eax, eax
jns 0x42a461
imul edx, dword [edi + 4]
jmp 0x42a463
xor edx, edx
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 4]
add eax, 3
add eax, edx
and eax, 0xfffffffc
add edi, eax
cmp ecx, edi
jbe 0x42a4da
test edi, edi
je 0x42a4da
mov eax, ecx
sub eax, edi
mov dword [ebp - 0xfc], eax
je 0x42a4da
mov eax, dword [0x56bd30]
test eax, eax
jne 0x42a49f
push dword [0x56ba44]
push edi
call fcn.0041b7a0
mov eax, dword [0x5706c8]
mov dword [edi], eax
mov eax, dword [ebp - 0xfc]
add eax, 0xfffffff4
mov dword [edi + 4], eax
call fcn.0040e3a0
and eax, 1
xor edx, edx
or eax, edx
je 0x42a4d4
push dword [edi + 4]
lea eax, [edi + 8]
push 0xcc
push eax
call fcn.00436420
add esp, 0xc
mov ecx, dword [0x56ba44]
mov eax, dword [0x571164]
cmp eax, dword [esi + 0x10]
jb 0x42a567
cmp eax, dword [esi + 8]
jae 0x42a567
mov eax, dword [0x56bd30]
test eax, eax
jne 0x42a52b
mov edi, dword [0x571164]
mov edx, dword [edi]
and edx, 0xfffffffc
mov eax, dword [edx]
movzx ecx, ax
test eax, eax
jns 0x42a514
imul ecx, dword [edi + 4]
jmp 0x42a516
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.0041b7a0
cmp dword [esi + 0x28], 0
jne 0x42a536
mov eax, dword [esi]
mov dword [esi + 0x28], eax
mov edi, dword [0x571164]
mov edx, dword [edi]
and edx, 0xfffffffc
mov eax, dword [edx]
movzx ecx, ax
test eax, eax
jns 0x42a550
imul ecx, dword [edi + 4]
jmp 0x42a552
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 [0x56ba44]
cmp dword [esi + 8], ecx
jb 0x42a577
mov eax, dword [esi + 0x10]
cmp eax, dword [0x571164]
jbe 0x42a58c
mov eax, dword [0x56bd30]
cmp dword [esi + 0x28], 0
jne 0x42a587
mov eax, dword [esi]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x10]
mov dword [esi], eax
mov esi, dword [esi + 0x18]
test esi, esi
je 0x42a5af
test byte [esi + 0x14], 1
je 0x42a5ad
nop dword [eax]
mov esi, dword [esi + 0x18]
test esi, esi
je 0x42a5af
test byte [esi + 0x14], 1
jne 0x42a5a0
test esi, esi
mov eax, dword [ebp - 0xac]
jne 0x42a420
jmp 0x42a657
test ebx, ebx
je 0x42a5dd
test byte [ebx + 0x14], 1
je 0x42a5dd
nop word [eax + eax]
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x42a5dd
test byte [ebx + 0x14], 1
jne 0x42a5d0
mov esi, ebx
nop
mov edi, dword [esi + 0x10]
mov dword [esi + 0x28], 0
cmp esi, ebx
jne 0x42a611
mov edx, dword [eax]
mov eax, dword [edx]
and eax, 0xfffffffc
mov ecx, dword [eax]
test ecx, ecx
jns 0x42a604
movzx ecx, cx
imul ecx, dword [edx + 4]
jmp 0x42a606
xor ecx, ecx
lea edi, [ecx + 3]
add edi, dword [eax + 4]
and edi, 0xfffffffc
add edi, edx
mov eax, dword [0x56bd30]
test eax, eax
jne 0x42a622
push dword [esi]
push edi
call fcn.0041b7a0
cmp dword [esi + 0x28], 0
jne 0x42a62d
mov eax, dword [esi]
mov dword [esi + 0x28], eax
mov dword [esi], edi
mov esi, dword [esi + 0x18]
test esi, esi
je 0x42a64f
test byte [esi + 0x14], 1
je 0x42a64d
nop dword [eax]
mov esi, dword [esi + 0x18]
test esi, esi
je 0x42a64f
test byte [esi + 0x14], 1
jne 0x42a640
test esi, esi
mov eax, dword [ebp - 0xac]
jne 0x42a5e0
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xac]
inc ecx
mov edi, dword [ebp - 0xb0]
add eax, 0x88
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xac], eax
cmp ecx, edi
jle 0x42a3f0
mov esi, dword [ebp - 0xe4]
mov eax, dword [esi + 0x28]
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x42a6b3
test byte [eax + 0x14], 1
je 0x42a6b3
nop dword [eax]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x42a6ad
test byte [eax + 0x14], 1
jne 0x42a6a0
mov dword [ebp - 0xf8], eax
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esi + 0x2c]
mov dword [ebp - 0xdc], eax
mov eax, dword [0x571148]
mov dword [ebp - 0x124], eax
xor eax, eax
mov dword [ebp - 0x114], eax
mov eax, edx
sub eax, dword [0x57176c]
shr eax, 0xb
mov dword [ebp - 0x108], edx
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0xbc], eax
cmp edi, 2
je 0x42a71a
cmp dword [0x5728d8], ecx
je 0x42a71a
xor ebx, ebx
lea eax, [edi + 1]
jmp 0x42a721
mov ebx, 1
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 - 0x110], ebx
mov dword [ebp - 0xa4], esi
nop word [eax + eax]
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x42a750
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x158], ecx
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x15c], ecx
mov dword [ebp - 0xfc], ecx
cmp edi, 2
jge 0x42a8bd
lea ecx, [edi + 1]
mov eax, 2
cmp ecx, eax
cmovl eax, ecx
xor edx, edx
imul edi, eax, 0x88
add edi, 0x56ba80
mov dword [ebp - 0xc4], edi
mov esi, dword [edi + 0x3c]
test esi, esi
je 0x42a807
lea ecx, [edx + edx*2]
shl ecx, 2
test edx, edx
jne 0x42a7e3
lea eax, [edi + 0x40]
jmp 0x42a7eb
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 0x42a7d4
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x28]
mov dword [ebp - 0x150], eax
mov eax, dword [edi + 0x6c]
mov dword [ebp - 0x134], eax
mov eax, dword [edi + 0x54]
mov dword [ebp - 0x138], eax
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 0x58]
mov dword [ebp - 0x13c], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x154], eax
mov eax, dword [edi]
mov dword [ebp - 0x158], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x15c], eax
mov eax, dword [edi + 0x30]
mov dword [edi + 0x64], 0
mov dword [ebp - 0xfc], eax
test ecx, ecx
je 0x42a87d
test byte [ecx + 0x14], 1
je 0x42a87d
nop dword [eax + eax]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42a87d
test byte [ecx + 0x14], 1
jne 0x42a870
mov edx, dword [0x571750]
cmp ecx, edx
je 0x42a8b7
test ecx, ecx
je 0x42a8b7
nop dword [eax + eax]
cmp ecx, edx
je 0x42a8b7
mov eax, dword [ecx]
mov dword [ecx + 0x24], eax
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42a8b7
test byte [ecx + 0x14], 1
je 0x42a8b3
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42a8b7
test byte [ecx + 0x14], 1
jne 0x42a8a6
test ecx, ecx
jne 0x42a890
mov edi, dword [ebp - 0xb0]
imul edx, edi, 0x88
mov esi, edi
add edx, 0x56baa8
nop dword [eax + eax]
mov ecx, dword [edx]
test ecx, ecx
je 0x42a915
test byte [ecx + 0x14], 1
je 0x42a8ed
nop dword [eax]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42a915
test byte [ecx + 0x14], 1
jne 0x42a8e0
test ecx, ecx
je 0x42a915
mov eax, dword [ecx + 0x10]
mov dword [ecx + 0x24], eax
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42a915
test byte [ecx + 0x14], 1
je 0x42a911
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42a915
test byte [ecx + 0x14], 1
jne 0x42a904
test ecx, ecx
jne 0x42a8f1
inc esi
add edx, 0x88
cmp esi, edi
jle 0x42a8d0
mov ecx, dword [ebp - 0xb0]
test ecx, ecx
js 0x42aa11
imul edx, ecx, 0x88
add edx, 0x56bacc
nop word [eax + eax]
xor esi, esi
cmp dword [edx - 0x10], esi
jbe 0x42a976
test esi, esi
jne 0x42a952
lea eax, [edx - 0xc]
mov dword [eax], esi
jmp 0x42a969
mov eax, dword [edx]
lea ecx, [esi + esi*2]
shl ecx, 2
mov dword [ecx + eax - 0xc], 0
mov eax, dword [edx]
add eax, 0xfffffff4
add eax, ecx
inc esi
mov dword [eax + 4], 0
cmp esi, dword [edx - 0x10]
jb 0x42a947
mov dword [edx + 0x1c], 0
mov ecx, dword [edx - 0x24]
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 0x42a9dd
test byte [ecx + 0x14], 1
je 0x42a9dd
nop dword [eax]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42a9dd
test byte [ecx + 0x14], 1
jne 0x42a9d0
mov eax, dword [edx - 0x24]
mov dword [edx - 0x1c], ecx
cmp eax, dword [0x571750]
je 0x42a9f0
mov eax, dword [ecx + 0x10]
jmp 0x42a9f3
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 0x42a940
mov ecx, dword [ebp - 0xb0]
xor eax, eax
mov dword [0x571370], 0xffffffff
test ebx, ebx
mov edx, 1
cmovne eax, edx
cmp dword [0x5728d8], 0
mov dword [ebp - 0x144], eax
mov eax, dword [0x571750]
mov eax, dword [eax]
mov dword [0x571374], eax
je 0x42aa54
cmp dword [0x5728d4], edx
jne 0x42aa54
mov eax, dword [0x5728a0]
xor eax, 0x20
je 0x42aa56
mov eax, edx
mov dword [0x56ba48], eax
mov eax, dword [0x573998]
mov dword [0x5714f4], 0
cmp eax, 5
jl 0x42aaa0
mov eax, dword [0x5739a0]
test al, 1
je 0x42aaa0
cmp ecx, 1
jne 0x42aaa0
xor ecx, ecx
mov byte [ebp - 0xb5], dl
push 0x90
push ecx
push 0x5726e0
mov dword [ebp - 0xc0], ecx
call fcn.00436420
add esp, 0xc
jmp 0x42aaaf
xor ecx, ecx
mov byte [ebp - 0xb5], 0
mov dword [ebp - 0xc0], ecx
mov eax, dword [0x57399c]
cmp eax, 5
jl 0x42aac9
mov eax, dword [0x5739a4]
mov byte [ebp - 0xc5], 1
test al, 1
jne 0x42aad0
mov byte [ebp - 0xc5], 0
mov ebx, dword [ebp - 0xac]
mov edx, ebx
mov edi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xf8]
nop word [eax + eax]
cmp ebx, edi
jb 0x42abac
cmp dword [esi + 0x28], 0
jne 0x42ab09
mov eax, dword [esi]
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0xbc]
push edx
push ebx
push eax
push dword [ebp - 0xf0]
mov dword [esi], edx
call fcn.00431a40
xor eax, eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0xf0], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x42b4bb
test byte [eax + 0x14], 1
je 0x42ab59
nop dword [eax + eax]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x42b4bb
test byte [eax + 0x14], 1
jne 0x42ab40
test eax, eax
je 0x42b4bb
mov esi, dword [esi + 0x18]
mov dword [ebp - 0xf8], esi
test esi, esi
je 0x42ab83
test byte [esi + 0x14], 1
je 0x42ab83
nop dword [eax]
mov esi, dword [esi + 0x18]
test esi, esi
je 0x42ab7d
test byte [esi + 0x14], 1
jne 0x42ab70
mov dword [ebp - 0xf8], esi
mov ebx, dword [esi + 0x10]
mov edx, ebx
mov edi, dword [esi]
mov eax, ebx
sub eax, dword [0x57176c]
shr eax, 0xb
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xbc], eax
jmp 0x42aaf0
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0x100], edi
mov dword [ebp - 0xec], esi
mov dword [ebp - 0x118], eax
nop word [eax + eax]
test byte [ebx], 1
je 0x42b386
mov dword [ebp - 0xd4], edx
mov ecx, ebx
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x130], 0
test esi, esi
jne 0x42ac34
test edi, edi
jne 0x42ac34
mov eax, ebx
mov dword [ebx - 0xc], edi
sub eax, edx
mov dword [ebx - 8], edi
mov dword [ebx - 0x10], eax
mov eax, dword [ebp - 0x118]
test dword [ebx - 4], 0x20000000
je 0x42aca7
xor esi, esi
cmp dword [ebp - 0xf4], esi
jne 0x42ac4b
test edi, edi
je 0x42ac50
mov esi, 1
mov dword [ebp - 0x120], 1
mov dword [ebp - 0xf4], 0
test edi, edi
je 0x42ac74
mov dword [ebp - 0xb4], 1
jmp 0x42acdf
push eax
push esi
push ebx
mov dword [ebp - 0x100], 1
mov dword [ebp - 0xec], ebx
call fcn.004202e0
test esi, esi
je 0x42acdf
mov dword [ebx - 0xc], 0
mov dword [ebx - 8], 0
mov dword [ebx - 0x10], 0xc
jmp 0x42acdf
test edi, edi
je 0x42accd
push ebx
push eax
push dword [ebp - 0xec]
call fcn.0042ff90
mov dword [ebx - 0xc], 0
mov dword [ebx - 8], 0
mov dword [ebx - 0x10], 0xc
xor eax, eax
mov dword [ebp - 0xf4], 1
mov dword [ebp - 0x100], eax
mov esi, ebx
mov ebx, dword [ebp - 0x120]
mov edx, dword [esi]
mov edi, edx
and edi, 1
je 0x42ad7d
mov ecx, dword [esi - 4]
mov eax, ecx
shr eax, 0x1d
and eax, 1
cmp eax, ebx
jne 0x42ad7d
test eax, eax
je 0x42ad10
and ecx, 0xdfffffff
mov dword [esi - 4], ecx
and edx, 0xfffffffc
mov dword [ebp - 0x118], esi
mov dword [esi], edx
mov eax, dword [edx]
test eax, eax
jns 0x42ad2a
movzx ecx, ax
imul ecx, dword [esi + 4]
jmp 0x42ad2c
xor ecx, ecx
mov eax, dword [edx + 4]
add eax, 3
add eax, ecx
and eax, 0xfffffffc
add esi, eax
prefetcht0 byte [esi]
cmp esi, dword [ebp - 0xdc]
jb 0x42ace7
xor eax, eax
cmp dword [ebp - 0x120], 0
mov ecx, esi
mov ebx, esi
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xac], ebx
je 0x42adc0
test eax, eax
je 0x42ada5
and dword [esi], 0xfffffffc
mov edx, dword [esi]
mov dword [ebp - 0x118], esi
mov eax, dword [edx]
test eax, eax
jns 0x42ad90
movzx ecx, ax
imul ecx, dword [esi + 4]
jmp 0x42ad92
cmp esi, dword [ebp - 0xdc]
jae 0x42ad44
test edi, edi
je 0x42ad44
mov eax, 1
jmp 0x42ad46
xor ecx, ecx
mov eax, dword [edx + 4]
add eax, 3
add eax, ecx
and eax, 0xfffffffc
mov dword [ebp - 0x140], eax
add esi, eax
mov edi, dword [ebp - 0xa8]
mov ebx, esi
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xe0], ebx
sub ebx, edi
jmp 0x42ae88
mov edi, dword [ebp - 0xa8]
test eax, eax
je 0x42addc
mov dword [ebp - 0x12c], 1
mov dword [ebp - 0xe0], ebx
jmp 0x42ae06
mov eax, dword [ebp - 0x118]
mov ebx, ecx
mov dword [ebp - 0xac], ecx
mov esi, ecx
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x140], 0
sub ebx, edi
cmp dword [ebp - 0x110], 0
je 0x42ae88
cmp dword [0x5728d4], 2
jne 0x42ae88
mov eax, dword [ebp - 0xa4]
cmp ebx, 0x1000
jbe 0x42ae8e
mov ecx, edi
sub ecx, dword [eax]
cmp ebx, 0x8000
jbe 0x42ae8e
test ecx, ecx
jle 0x42ae8e
mov eax, ebx
shr eax, 4
cmp ecx, eax
jae 0x42ae88
cmp dword [ebp - 0xec], 0
je 0x42ae56
mov dword [ebp - 0xb4], 1
jmp 0x42ae66
push 0
push 0
push edi
call fcn.004202e0
mov dword [ebp - 0xec], edi
xor ecx, ecx
mov dword [ebp - 0x100], 1
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x120], 1
mov dword [ebp - 0x130], ebx
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x144], 0
je 0x42aef2
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 0xc
push eax
mov dword [ebp - 0x144], 0
call fcn.00416f40
mov ecx, dword [ebp - 0xe4]
mov edx, edi
mov dword [ecx + 0x74], eax
mov dword [ecx + 0x78], 0xc
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ecx]
sub edx, eax
mov ecx, dword [ecx + 4]
sub ecx, eax
cmp ecx, edx
cmovbe edx, ecx
cmp edx, 0xc
jae 0x42aef2
mov ecx, dword [ebp - 0xe4]
lea eax, [edx + 0xc]
mov dword [ecx + 0x78], eax
mov eax, dword [ebp - 0xa4]
add dword [eax], edx
mov ecx, dword [ebp - 0xf8]
cmp ecx, dword [0x571750]
jne 0x42af28
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xd0]
push eax
push edi
call fcn.0042c6d0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x128], 0
lea eax, [edx + edx*2]
shl eax, 5
mov dword [ebp - 0x148], eax
add dword [eax + 0x57151c], ebx
cmp dword [ebp - 0x120], 0
jne 0x42b09c
cmp dword [ebp - 0x110], 0
push edi
je 0x42af86
xor eax, eax
cmp dword [ebp - 0x12c], eax
push ecx
cmovne eax, dword [ebp - 0xe0]
push eax
lea eax, [ebp - 0x11c]
push eax
push edx
jmp 0x42afe8
push edx
push ebx
push dword [ebp - 0xc4]
call fcn.00417630
mov edi, eax
test edi, edi
je 0x42afa0
mov eax, 1
jmp 0x42affc
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x110]
cmp dword [ecx + 0x3c], 1
mov ecx, 1
cmove eax, ecx
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x110], eax
xor eax, eax
cmp dword [ebp - 0x12c], eax
push ecx
push dword [ebp - 0xf8]
cmovne eax, dword [ebp - 0xe0]
push eax
lea eax, [ebp - 0x11c]
push eax
push dword [ebp - 0xcc]
push ebx
push dword [ebp - 0xa4]
call fcn.00416f40
mov edi, eax
mov eax, dword [ebp - 0x128]
cmp byte [ebp - 0xb5], 0
je 0x42b03c
test eax, eax
jne 0x42b03c
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 + 0x5726e4]
add dword [eax*4 + 0x5726e8], ebx
add dword [ebp - 0xc0], ebx
cmp dword [ebp - 0x11c], 0
je 0x42b073
mov edi, dword [ebp - 0xa8]
xor ecx, ecx
push ecx
push ecx
push edi
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x100], 1
mov dword [ebp - 0x130], ebx
call fcn.004202e0
mov dword [ebp - 0xec], edi
jmp 0x42b0cc
mov ebx, dword [ebp - 0xa8]
test edi, edi
je 0x42b209
test byte [ebx], 1
je 0x42b209
mov ecx, dword [ebp - 0x148]
add dword [ecx + 0x57152c], 0xc
jmp 0x42b209
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xec], eax
cmp byte [ebp - 0xc5], 0
je 0x42b10d
cmp dword [ebp - 0xb4], 0
je 0x42b0e2
xor edi, edi
jmp 0x42b0e5
mov edi, dword [edi - 0x10]
mov eax, dword [0x57399c]
cmp eax, 5
jl 0x42b10d
mov eax, dword [0x5739a4]
test al, 1
je 0x42b10d
call fcn.004089d0
mov ecx, dword [ebp - 0xa8]
push edi
push esi
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0x40]
cmp dword [ebp - 0xb4], 0
je 0x42b17a
cmp dword [ebp - 0xec], 0
je 0x42b1c1
imul eax, dword [0x57113c], 0x4c
mov ecx, dword [0x571708]
mov dword [ebp - 0x128], ecx
lea edi, [ecx - 0x48]
add edi, eax
mov dword [ebp - 0x11c], edi
cmp dword [eax + ecx - 4], 0
je 0x42b176
mov edx, dword [edi]
mov edi, dword [ebp - 0x128]
mov dword [eax + ecx - 4], 0
mov ecx, dword [eax + ecx - 0x4c]
movq xmm0, qword [eax + edi - 0x2c]
movq qword [edx + ecx - 0x10], xmm0
mov eax, dword [eax + edi - 0x24]
mov edi, dword [ebp - 0x11c]
mov dword [edx + ecx - 8], eax
add dword [edi], ebx
jmp 0x42b1c1
imul ecx, dword [0x57113c], 0x4c
mov eax, dword [0x571708]
mov edx, dword [ebp - 0xa4]
mov dword [ecx + eax + 4], ebx
mov ecx, dword [0x57113c]
inc ecx
mov dword [0x57113c], ecx
test edx, edx
je 0x42b1c1
mov eax, dword [0x571140]
cmp eax, ecx
je 0x42b1c1
imul ecx, eax, 0x4c
mov eax, dword [0x571708]
mov eax, dword [ecx + eax]
cmp eax, dword [edx]
jb 0x42b1c1
cmp eax, dword [edx + 4]
jae 0x42b1c1
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x148]
mov eax, esi
mov ebx, dword [ebp - 0xa8]
sub eax, ebx
mov edi, ebx
add dword [ecx + 0x571520], eax
mov eax, dword [ebp - 0x140]
add dword [ecx + 0x571528], eax
mov eax, dword [ebp - 0x130]
add dword [ecx + 0x571524], eax
cmp dword [0x56ba48], 0
jne 0x42b209
cmp dword [ebp - 0xcc], 1
jne 0x42b209
mov dword [0x571378], esi
cmp dword [ebp - 0xb4], 0
jne 0x42b35c
mov ecx, dword [ebp - 0xbc]
mov eax, ebx
sub eax, dword [0x57176c]
shr eax, 0xb
cmp ecx, eax
je 0x42b250
push dword [ebp - 0xd4]
push ebx
push ecx
push dword [ebp - 0xf0]
call fcn.00431a40
mov dword [ebp - 0xbc], eax
xor eax, eax
mov dword [ebp - 0x114], eax
xor ecx, ecx
jmp 0x42b25c
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0xf0]
mov edx, eax
mov dword [ebp - 0xf0], ecx
mov eax, dword [ebx - 0xc]
sub edi, ebx
and eax, 1
or edi, eax
mov eax, dword [ebp - 0x104]
mov dword [ebx - 0xc], edi
test eax, eax
je 0x42b299
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 - 0xf0]
jne 0x42b299
or edi, 2
mov dword [ebx - 0xc], edi
mov eax, dword [ebp - 0x114]
test eax, eax
jne 0x42b2bf
mov ecx, ebx
inc eax
sub ecx, ebx
mov dword [ebp - 0x114], eax
mov word [ebx - 8], cx
mov ecx, ebx
mov dword [ebp - 0xf0], ecx
jmp 0x42b356
inc eax
mov dword [ebp - 0x114], eax
test eax, edx
jne 0x42b2da
sub ecx, ebx
mov word [ebx - 8], cx
mov ecx, ebx
mov dword [ebp - 0xf0], ecx
jmp 0x42b356
test al, 1
je 0x42b2ee
mov ecx, dword [ebp - 0x104]
mov eax, ebx
sub eax, ecx
mov word [ecx - 6], ax
jmp 0x42b356
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 0x42b33d
movsx eax, word [edx - 6]
add edx, eax
sub ecx, 1
jne 0x42b332
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 - 0x104], ebx
cmp esi, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0x100]
mov eax, dword [ebp - 0x118]
mov esi, dword [ebp - 0xf4]
jb 0x42abd0
cmp dword [ebp - 0x14c], 0
mov eax, dword [0x571150]
je 0x42b3e0
mov ecx, dword [ebp - 0x124]
cmp ecx, eax
jae 0x42b3b1
nop
cmp dword [ecx], ebx
ja 0x42b3ab
add ecx, 4
cmp ecx, eax
jb 0x42b3a0
mov dword [ebp - 0x124], ecx
mov edi, dword [ebp - 0xdc]
mov esi, edi
cmp ecx, eax
jae 0x42b3bf
mov esi, dword [ecx]
mov eax, dword [0x56bd30]
test eax, eax
jne 0x42b4ae
push esi
push ebx
call fcn.0041b7a0
mov edx, dword [ebp - 0xe0]
mov ebx, esi
jmp 0x42aade
mov edi, dword [ebp - 0xdc]
mov esi, ebx
mov eax, dword [0x56bd30]
cmp ebx, edi
jae 0x42b4ae
test eax, eax
jne 0x42b480
nop dword [eax]
test byte [esi], 1
jne 0x42b4ae
cmp esi, dword [0x57179c]
jb 0x42b446
cmp esi, dword [0x5717a0]
jae 0x42b446
mov ebx, dword [0x571780]
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 0x42b440
btr edx, ecx
mov dword [ebx + edi*4], edx
mov edi, dword [ebp - 0xdc]
mov eax, dword [esi]
and eax, 0xfffffffc
mov ecx, dword [eax]
test ecx, ecx
jns 0x42b45a
movzx ecx, cx
imul ecx, dword [esi + 4]
jmp 0x42b45c
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, edi
jb 0x42b400
mov edx, dword [ebp - 0xe0]
mov ebx, esi
jmp 0x42aade
mov eax, dword [esi]
test al, 1
jne 0x42b4ae
and eax, 0xfffffffc
mov ecx, dword [eax]
test ecx, ecx
jns 0x42b498
movzx ecx, cx
imul ecx, dword [esi + 4]
jmp 0x42b49a
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, edi
jb 0x42b480
mov edx, dword [ebp - 0xe0]
mov ebx, esi
jmp 0x42aade
mov edi, dword [0x571140]
mov esi, dword [ebp - 0xa4]
mov edx, dword [0x571750]
mov dword [ebp - 0xa8], esi
cmp edi, dword [0x57113c]
je 0x42b6f2
mov ebx, dword [ebp - 0xd0]
mov eax, dword [0x5728d8]
nop word [eax + eax]
test eax, eax
je 0x42b5e5
mov eax, dword [0x571708]
imul ecx, edi, 0x4c
mov eax, dword [ecx + eax]
mov dword [ebp - 0xd4], eax
cmp eax, dword [edx + 0x10]
jb 0x42b5e5
cmp eax, dword [edx + 8]
jae 0x42b5e5
mov ecx, dword [esi + 0x30]
cmp ecx, edx
je 0x42b550
mov eax, dword [esi]
mov esi, 0x56bb08
mov dword [ecx + 0x24], eax
mov edx, dword [0x571750]
mov edi, dword [0x571140]
mov eax, dword [edx + 0x10]
mov dword [0x56bb08], eax
mov dword [0x56bb0c], eax
mov dword [0x56bb3c], eax
mov dword [0x56bb38], edx
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], esi
test ebx, ebx
jle 0x42b5e5
imul edi, ebx, 0x88
add edi, 0x56baf8
dec ebx
lea edi, [edi - 0x88]
cmp ebx, 1
jne 0x42b595
cmp dword [0x56ba48], 0
mov eax, dword [0x56bc0c]
mov dword [0x5718b0], eax
jne 0x42b595
push esi
call fcn.00416b90
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 0xc
push esi
call fcn.00416f40
mov dword [edi - 4], eax
mov dword [edi], 0xc
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
cmp ecx, 0xc
jae 0x42b5c1
lea eax, [ecx + 0xc]
mov dword [edi], eax
add dword [esi], ecx
cmp dword [0x571370], 0xffffffff
jne 0x42b5d5
mov eax, dword [ebp - 0xd4]
mov dword [0x571370], eax
test ebx, ebx
jg 0x42b570
mov edx, dword [0x571750]
mov edi, dword [0x571140]
cmp edi, dword [0x57113c]
je 0x42b6f2
lea eax, [edi + 1]
mov dword [0x571140], eax
mov ecx, dword [esi + 0x30]
imul eax, edi, 0x4c
add eax, dword [0x571708]
mov dword [ebp - 0xd4], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xd0], eax
test ecx, ecx
je 0x42b630
test byte [ecx + 0x14], 1
je 0x42b630
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42b630
test byte [ecx + 0x14], 1
jne 0x42b620
nop dword [eax]
mov edx, dword [esi]
cmp edi, edx
jb 0x42b63a
cmp edi, dword [ecx]
jb 0x42b667
mov dword [ecx + 0x24], edx
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42b65d
test byte [ecx + 0x14], 1
je 0x42b65d
nop word [eax + eax]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42b65d
test byte [ecx + 0x14], 1
jne 0x42b650
mov dword [esi + 0x30], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi], eax
jmp 0x42b630
mov ecx, dword [ebp - 0xd4]
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 [0x571750]
cmp edi, dword [edx + 0x10]
jb 0x42b6db
cmp edi, dword [edx + 8]
jae 0x42b6db
cmp edi, dword [0x56bb34]
jb 0x42b6db
xor ecx, ecx
mov eax, 0x56baac
cmp edi, dword [eax]
jae 0x42b6bb
add eax, 0x88
inc ecx
cmp eax, 0x56bb34
jl 0x42b6a3
mov ecx, 1
jmp 0x42b6c0
cmp ecx, 2
je 0x42b6db
mov eax, dword [0x5728d8]
test eax, eax
je 0x42b6e0
imul eax, ecx, 0x88
mov ecx, dword [ebp - 0xd0]
add dword [eax + 0x56bb88], ecx
mov eax, dword [0x5728d8]
mov edi, dword [0x571140]
cmp edi, dword [0x57113c]
jne 0x42b4f0
mov ebx, dword [0x5728d4]
test ebx, ebx
js 0x42b793
imul edi, ebx, 0x88
add edi, 0x56baf8
nop dword [eax]
cmp ebx, 2
jae 0x42b74a
mov ecx, dword [esi + 0x30]
cmp ecx, edx
je 0x42b744
mov eax, dword [esi]
mov esi, 0x56bb08
mov dword [ecx + 0x24], eax
mov edx, dword [0x571750]
mov eax, dword [edx + 0x10]
mov dword [0x56bb08], eax
mov dword [0x56bb0c], eax
mov dword [0x56bb3c], eax
mov dword [0x56bb38], edx
mov dword [ebp - 0xa4], esi
cmp dword [edi - 4], 0
jne 0x42b782
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 0xc
push esi
call fcn.00416f40
mov dword [edi - 4], eax
mov dword [edi], 0xc
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
cmp ecx, 0xc
jae 0x42b77c
lea eax, [ecx + 0xc]
mov dword [edi], eax
add dword [esi], ecx
mov edx, dword [0x571750]
sub edi, 0x88
sub ebx, 1
jns 0x42b710
mov dword [ebp - 0xa8], esi
mov eax, dword [esi]
push 0x54d4a4
mov dword [edx + 0x24], eax
call fcn.0041f090
cmp dword [0x5728d4], 1
jne 0x42b82a
mov ecx, dword [0x56bbe8]
mov edi, dword [0x56bbec]
sub ecx, dword [ebp - 0x13c]
sub edi, dword [ebp - 0xe8]
mov eax, dword [0x56bbe4]
sub eax, dword [ebp - 0x138]
mov ebx, dword [0x56bbfc]
sub ebx, dword [ebp - 0x134]
mov dword [ebp - 0xd4], eax
lea eax, [edi + ecx]
test eax, eax
je 0x42b7f2
mov byte [0x571127], 1
cmp dword [0x5728e8], 0
mov eax, 0x571878
mov edx, 0x5726a0
cmove edx, eax
mov eax, dword [ebp - 0xd4]
mov dword [edx], eax
mov eax, dword [0x56bc0c]
mov dword [edx + 8], ecx
mov ecx, dword [0x5718b0]
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 [0x571750]
imul ebx, dword [ebp - 0xb0], 0x88
mov eax, dword [esi]
mov ecx, dword [edi + 0x10]
cmp eax, ecx
jb 0x42b856
cmp eax, dword [edi + 8]
jae 0x42b856
mov edx, dword [edi]
cmp eax, edx
ja 0x42b852
sub edx, eax
jmp 0x42b85a
xor edx, edx
jmp 0x42b85a
mov edx, dword [edi]
sub edx, ecx
mov ecx, dword [ebx + 0x56baa8]
test ecx, ecx
je 0x42b87d
test byte [ecx + 0x14], 1
je 0x42b87d
nop word [eax + eax]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42b87d
test byte [ecx + 0x14], 1
jne 0x42b870
cmp ecx, edi
je 0x42b8a6
mov eax, dword [ecx]
sub eax, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x18]
add edx, eax
test ecx, ecx
je 0x42b8a2
test byte [ecx + 0x14], 1
je 0x42b8a2
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42b8a2
test byte [ecx + 0x14], 1
jne 0x42b895
cmp ecx, edi
jne 0x42b881
mov ecx, dword [0x571140]
xor edi, edi
xor ebx, ebx
xor eax, eax
cmp ecx, 2
jb 0x42b900
mov eax, dword [0x571708]
add ecx, 0xfffffffe
shr ecx, 1
add eax, 0x50
inc ecx
lea esi, [ecx + ecx]
mov dword [ebp - 0xd4], 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 0x42b8e0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [0x571140]
cmp eax, ecx
jae 0x42b911
mov ecx, dword [0x571708]
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 [0x57137c], 0
mov edi, dword [ebp - 0xb0]
add eax, edx
push eax
push edi
call fcn.0041eb70
mov ebx, eax
mov dword [ebp - 0xbc], ebx
cmp edi, 2
jne 0x42b9a2
cmp dword [0x5728e0], 0
je 0x42b97b
cmp dword [0x5728e8], 0
mov eax, 0x5726c8
mov ecx, 0x5718a0
mov ebx, 1
cmove eax, ecx
mov dword [ebp - 0xbc], ebx
mov dword [eax], 0x80000008
jmp 0x42b98b
push 3
push 0
call fcn.004088c0
push 3
call fcn.00430f10
push 4
push 0
call fcn.004088c0
push 4
call fcn.00430f10
call fcn.0042d280
jmp 0x42b9ac
mov dword [0x5728e0], 0
cmp byte [0x571127], 0
je 0x42b9f2
cmp byte [0x5711bd], 0
je 0x42b9f2
mov eax, dword [0x573904]
test eax, eax
jne 0x42b9e6
mov eax, dword [0x573908]
cmp eax, 1
je 0x42b9e6
mov esi, dword [ebp - 0xa4]
mov byte [0x5711be], 1
mov dword [ebp - 0xa8], esi
jmp 0x42ba50
mov esi, dword [ebp - 0xa4]
mov dword [ebp - 0xa8], esi
mov edx, dword [0x571374]
cmp edx, dword [0x571370]
sbb eax, eax
inc eax
mov dword [0x5728ec], eax
cmp edx, dword [0x571370]
jb 0x42ba36
mov eax, dword [0x5728e8]
mov edx, 0x5718a4
mov ecx, dword [0x5718a4]
test eax, eax
cmovne ecx, dword [0x5726cc]
or ecx, 2
test eax, eax
mov eax, 0x5726cc
cmove eax, edx
mov dword [eax], ecx
test ebx, ebx
je 0x42ba50
cmp edi, 2
jne 0x42ba50
inc dword [0x5729fc]
xorps xmm0, xmm0
movlpd qword [0x5716e8], xmm0
cmp byte [0x57142d], 0
je 0x42baea
call fcn.0040d620
mov ecx, eax
call fcn.00435140
movaps xmm1, xmm0
xorps xmm0, xmm0
mulsd xmm1, qword [0x5733c8]
movlpd qword [ebp - 0xd8], xmm0
movsd xmm0, qword [0x54b148]
comisd xmm1, xmm0
jb 0x42baae
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x42baae
mov edi, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xd4]
add edi, 0
adc ebx, 0x80000000
jmp 0x42baba
mov ebx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd8]
movaps xmm0, xmm1
call fcn.00435040
mov ecx, dword [0x57310c]
add eax, edi
adc edx, ebx
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
mov edx, dword [0x57310c]
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 [0x571500], 0
cmp ebx, 2
jne 0x42bb5e
cmp dword [0x5728e0], 0
je 0x42bb39
mov edi, dword [ebp - 0xbc]
test edi, edi
je 0x42bb27
call fcn.00429f60
test eax, eax
je 0x42bb27
mov dword [0x571500], 1
jmp 0x42bb64
push 3
push 0
call fcn.004088c0
push 3
call fcn.00430f10
jmp 0x42bb64
mov eax, dword [0x571744]
test eax, eax
je 0x42bb5e
sub dword [0x56ba54], 1
jne 0x42bb5e
push eax
call fcn.00434e0e
add esp, 4
mov dword [0x571744], 0
mov edi, dword [ebp - 0xbc]
cmp byte [0x5711be], 0
jne 0x42bbc5
cmp byte [0x57142c], 0
je 0x42bbc5
cmp byte [0x5711bd], 0
je 0x42bbc5
cmp dword [0x5728d4], 1
jne 0x42bbee
mov ecx, dword [0x5728d0]
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
jne 0x42bbb9
mov eax, dword [0x573904]
test eax, eax
jne 0x42bbb9
mov eax, dword [0x573908]
cmp eax, 1
je 0x42bbb9
mov byte [0x5711be], 1
mov esi, dword [ebp - 0xa4]
mov dword [ebp - 0xa8], esi
cmp dword [0x5728d4], 1
jne 0x42bbee
cmp byte [0x5711bd], 0
je 0x42bbe1
mov dword [ebp - 0xb4], 0
cmp byte [0x5711be], 0
jne 0x42c350
test edi, edi
je 0x42c350
cmp dword [ebp - 0xb4], 0
je 0x42bc59
call fcn.004308a0
mov edi, eax
test edi, edi
je 0x42bc20
push edi
push esi
push ebx
call fcn.00420890
mov esi, eax
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], esi
cmp dword [0x571750], edi
je 0x42bc59
cmp dword [0x572a44], 0
jne 0x42bc4f
cmp ebx, 2
je 0x42bc4f
mov eax, dword [0x57290c]
cmp eax, 2
je 0x42bc4f
cmp eax, 3
je 0x42bc4f
mov dword [0x572a44], 1
mov dword [ebp - 0xb4], 0
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ecx]
mov dword [ecx + 4], eax
cmp ebx, 2
jge 0x42bee3
mov ebx, dword [ebp - 0xc4]
mov eax, dword [ebx + 0x3c]
cmp eax, 1
je 0x42bcdf
xor edi, edi
test eax, eax
je 0x42bcdf
test edi, edi
jne 0x42bc8d
mov edx, dword [ebx + 0x40]
lea eax, [ebx + 0x48]
jmp 0x42bc9f
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 0x42bcbe
test eax, eax
je 0x42bcbe
cmp dword [edx - 4], 1
je 0x42bcb7
mov dword [edx - 4], 1
dec eax
mov edx, dword [edx + 8]
test edx, edx
jne 0x42bca5
test edi, edi
jne 0x42bcc7
lea eax, [ebx + 0x48]
jmp 0x42bcd3
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 0x42bc81
push ebx
call fcn.00421b10
cmp byte [ebp - 0xb5], 0
je 0x42bedd
xor ebx, ebx
mov edi, 0x5726e8
xor edx, edx
nop dword [eax + eax]
mov eax, dword [edi - 4]
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x42bd3d
cmp dx, bx
je 0x42bd38
mov ecx, dword [edi]
mov esi, dword [ebp - 0xd4]
movzx eax, bx
lea eax, [eax + eax*2]
mov word [eax*4 + 0x5726e0], dx
mov dword [eax*4 + 0x5726e4], esi
mov dword [eax*4 + 0x5726e8], ecx
jmp 0x42bd3c
mov word [edi - 8], dx
inc ebx
inc edx
add edi, 0xc
cmp dx, 0xc
jb 0x42bd00
mov esi, dword [ebp - 0xa8]
test bx, bx
je 0x42bd9c
mov eax, dword [0x573998]
cmp eax, 5
jl 0x42bd82
mov eax, dword [0x5739a0]
test al, 1
je 0x42bd82
call fcn.004089d0
mov ecx, dword [ebp - 0xc0]
push 0x5726e0
push 0xc
mov edx, dword [eax]
push ebx
push ecx
push 1
mov ecx, eax
call dword [edx + 0x4c]
push 0x90
push 0
push 0x5726e0
call fcn.00436420
mov esi, dword [ebp - 0xa4]
add esp, 0xc
mov edx, dword [ebp - 0xc4]
xor ebx, ebx
mov dword [ebp - 0xac], ebx
mov eax, dword [edx + 0x68]
shr eax, 2
mov dword [ebp - 0xd4], eax
mov eax, dword [edx + 0x3c]
sub eax, 1
mov dword [ebp - 0xc0], eax
js 0x42be9f
nop dword [eax + eax]
xor edi, edi
mov dword [ebp - 0xd0], edi
test eax, eax
jne 0x42bde1
lea ecx, [edx + 0x40]
jmp 0x42bdf3
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x4c]
lea ecx, [ecx - 3]
lea ecx, [eax + ecx*4]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ecx]
test ecx, ecx
je 0x42be90
nop dword [eax]
mov eax, dword [ecx]
and eax, 0xfffffffc
mov edx, dword [eax]
test edx, edx
jns 0x42be14
movzx edx, dx
imul edx, dword [ecx + 4]
jmp 0x42be16
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 - 0xd4]
ja 0x42bf12
cmp edi, 0x7d0
ja 0x42bf12
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x42be00
test edi, edi
je 0x42be84
mov ecx, dword [ebp - 0xac]
movzx eax, cx
inc ecx
mov dword [ebp - 0xac], ecx
mov ecx, dword [ebp - 0xc0]
lea eax, [eax + eax*2]
mov word [eax*4 + 0x5726e0], cx
mov dword [eax*4 + 0x5726e4], edi
mov dword [eax*4 + 0x5726e8], edx
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc0]
sub eax, 1
mov dword [ebp - 0xc0], eax
jns 0x42bdd0
mov eax, dword [ebp - 0xac]
movzx edi, ax
test di, di
je 0x42bedd
mov eax, dword [0x573998]
cmp eax, 5
jl 0x42bed7
mov eax, dword [0x5739a0]
test al, 1
je 0x42bed7
call fcn.004089d0
push 0x5726e0
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.00408870
mov edi, dword [ebp - 0x108]
push edi
push ebx
call fcn.0042e090
cmp dword [0x5728ec], 0
jne 0x42bf46
cmp dword [0x5728d8], 0
je 0x42bf46
mov eax, 1
jmp 0x42bf48
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xc0]
movzx eax, ax
lea eax, [eax + eax*2]
mov word [eax*4 + 0x5726e0], cx
mov dword [eax*4 + 0x5726e4], edi
mov dword [eax*4 + 0x5726e8], edx
mov eax, dword [ebp - 0xac]
inc eax
jmp 0x42bea5
xor eax, eax
push eax
push edi
push ebx
call fcn.0041d9b0
push esi
push ebx
call fcn.00421930
cmp ebx, 1
jl 0x42bf85
push 1
call fcn.0042d1c0
cmp dword [ebp - 0xb4], 0
je 0x42bf85
mov eax, dword [0x571750]
mov dword [0x56baa8], eax
mov dword [0x56bab0], eax
mov dword [0x56bb30], eax
mov dword [0x56bb38], eax
cmp byte [0x57142d], 0
je 0x42c013
call fcn.0040d620
mov ebx, dword [0x57310c]
mov ecx, eax
call fcn.00435140
movaps xmm1, xmm0
xorps xmm0, xmm0
mulsd xmm1, qword [0x5733c8]
movlpd qword [ebp - 0x10c], xmm0
movsd xmm0, qword [0x54b148]
comisd xmm1, xmm0
jb 0x42bfe9
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x42bfe9
mov esi, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x108]
add esi, 0
adc edi, 0x80000000
jmp 0x42bff5
mov edi, dword [ebp - 0x108]
mov esi, dword [ebp - 0x10c]
movaps xmm0, xmm1
call fcn.00435040
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 [0x5728ec], 0
jne 0x42c02c
cmp dword [0x5728d8], 0
je 0x42c02c
mov eax, 1
jmp 0x42c02e
xor eax, eax
mov ecx, dword [0x571754]
push eax
push ebx
call fcn.00415ef0
cmp dword [0x5728d8], 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 0x42c0a3
cmp dword [0x5728ec], 0
jne 0x42c0ac
lea eax, [ebp - 0x17c]
push eax
push 2
push ebx
call fcn.004346b0
jmp 0x42c0bb
cmp dword [0x5728ec], 0
je 0x42c0bb
lea eax, [ebp - 0x17c]
push eax
push 2
push ebx
call fcn.00434620
lea eax, [ebx + 1]
xor edx, edx
cmp eax, 2
mov dword [0x571140], edx
mov esi, 2
cmovl esi, eax
imul eax, esi, 0x88
mov dword [ebp - 0xb4], esi
mov esi, dword [eax + 0x56ba24]
mov dword [ebp - 0xac], esi
lea ebx, [eax + 0x56ba80]
mov eax, dword [0x571750]
mov dword [ebp - 0xcc], ebx
mov eax, dword [eax]
mov dword [ebp - 0xd4], eax
cmp dword [0x57113c], edx
je 0x42c5b0
nop
mov eax, edx
lea edx, [eax + 1]
imul eax, eax, 0x4c
mov dword [0x571140], edx
add eax, dword [0x571708]
mov ecx, dword [eax + 4]
mov edi, dword [eax]
sub edi, ecx
mov dword [ebp - 0xe4], ecx
test ecx, ecx
je 0x42c33f
mov eax, dword [0x5706c8]
mov dword [edi], eax
lea eax, [ecx - 0xc]
mov dword [edi + 4], eax
call fcn.0040e3a0
and eax, 1
xor edx, edx
or eax, edx
je 0x42c168
push dword [edi + 4]
lea eax, [edi + 8]
push 0xcc
push eax
call fcn.00436420
add esp, 0xc
mov edx, dword [ebp - 0xe4]
mov eax, edi
sub eax, dword [0x57176c]
mov ecx, eax
add eax, edx
shr ecx, 0xb
shr eax, 0xb
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x124], eax
cmp eax, ecx
je 0x42c257
mov ebx, dword [ebp - 0x108]
mov eax, ecx
shl eax, 0xb
mov ecx, edi
sub ecx, eax
sub ecx, dword [0x57176c]
lea eax, [ebx + ebx]
mov dword [ebp - 0x104], eax
cmp ecx, 0xffff8001
jge 0x42c203
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xd0], 0xffff8001
mov eax, dword [0x571778]
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0xd0]
mov word [eax + ecx], dx
mov edx, dword [ebp - 0xe4]
inc ebx
cmp ebx, dword [ebp - 0x124]
jae 0x42c251
or edx, 0xffffffff
lea esi, [ebx + ebx]
cmp edx, 0xffff8001
jge 0x42c22a
mov ecx, 0xffff8001
jmp 0x42c232
movzx eax, cx
mov dword [ebp - 0xd0], eax
test ecx, ecx
js 0x42c1ca
mov esi, dword [ebp - 0x104]
lea ecx, [eax + 1]
mov eax, dword [0x571778]
mov word [eax + esi], cx
mov esi, dword [ebp - 0xac]
jmp 0x42c1e5
movzx ecx, dx
test edx, edx
js 0x42c232
inc ecx
mov eax, dword [0x571778]
inc ebx
dec edx
mov word [esi + eax], cx
cmp ebx, dword [ebp - 0x124]
jb 0x42c1f1
mov esi, dword [ebp - 0xac]
mov edx, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xcc]
mov eax, dword [0x571750]
cmp dword [eax + 0x10], edi
ja 0x42c2d8
cmp dword [eax + 8], edi
jbe 0x42c2d8
cmp esi, edi
ja 0x42c2ed
mov ecx, dword [ebp - 0xb4]
imul eax, ecx, 0x88
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xac], esi
add eax, 0x56ba80
cmp ecx, edi
jbe 0x42c2ed
nop
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 0x42c2ce
mov esi, dword [eax - 0x5c]
mov dword [ebp - 0xac], esi
cmp esi, edi
jbe 0x42c2a0
jmp 0x42c2ed
mov esi, ecx
mov dword [ebp - 0xac], esi
jmp 0x42c2ed
mov ebx, 0x56bb90
mov dword [ebp - 0xb4], 2
mov dword [ebp - 0xcc], ebx
cmp dword [0x5728e8], 0
jne 0x42c305
cmp ebx, 0x56ba80
je 0x42c305
mov ecx, 1
jmp 0x42c307
xor ecx, ecx
xor eax, eax
cmp dword [ebx + 0x84], 2
sete al
push eax
push ecx
push edx
push edi
call fcn.00427980
mov eax, dword [ebp - 0xe4]
cmp eax, 0x18
jb 0x42c336
add dword [ebx + 0x68], eax
lea ecx, [ebx + 0x38]
push eax
push edi
call fcn.004312b0
jmp 0x42c339
add dword [ebx + 0x6c], eax
mov edx, dword [0x571140]
cmp edx, dword [0x57113c]
jne 0x42c110
jmp 0x42c5b0
mov dword [0x5728d8], 1
mov dword [0x5728dc], 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 0x42c4b9
mov esi, dword [ebp - 0xc4]
xor edi, edi
mov ebx, dword [esi + 0x3c]
test ebx, ebx
je 0x42c44e
lea ecx, [edi + edi*2]
shl ecx, 2
test edi, edi
jne 0x42c3d7
mov edx, dword [esi + 0x48]
add esi, 0x40
jmp 0x42c3e3
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 0x42c43e
mov eax, dword [ebp - 0xc4]
test edi, edi
jne 0x42c40e
add eax, 0x40
jmp 0x42c416
mov eax, dword [eax + 0x4c]
add eax, 0xfffffff4
add eax, ecx
mov eax, dword [eax]
test eax, eax
je 0x42c43e
nop dword [eax]
test edx, edx
je 0x42c43e
mov esi, dword [eax - 4]
cmp esi, 1
je 0x42c437
dec edx
mov dword [eax + 8], esi
mov dword [eax - 4], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x42c420
mov esi, dword [ebp - 0xc4]
inc edi
cmp edi, dword [esi + 0x3c]
jb 0x42c3c5
mov eax, dword [ebp - 0x150]
mov ebx, dword [ebp - 0xb0]
mov dword [esi + 0x68], eax
mov eax, dword [ebp - 0x134]
mov dword [esi + 0x6c], eax
mov eax, dword [ebp - 0x138]
mov dword [esi + 0x54], eax
mov eax, dword [ebp - 0x13c]
mov dword [esi + 0x58], eax
mov eax, dword [ebp - 0xe8]
mov dword [esi + 0x5c], eax
lea eax, [ebx + ebx*2]
shl eax, 5
push esi
mov eax, dword [eax + 0x57151c]
add dword [esi + 0x60], eax
mov eax, dword [ebp - 0x154]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x158]
mov dword [esi], eax
mov eax, dword [ebp - 0x15c]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0xfc]
mov dword [esi + 0x30], eax
call fcn.00421b10
push 0
push 0
call fcn.00408870
push ebx
call fcn.00427490
call fcn.0042d670
test eax, eax
je 0x42c4d7
sub dword [0x56bbfc], eax
cmp byte [0x57142d], 0
je 0x42c565
call fcn.0040d620
mov ebx, dword [0x57310c]
mov ecx, eax
call fcn.00435140
movaps xmm1, xmm0
xorps xmm0, xmm0
mulsd xmm1, qword [0x5733c8]
movlpd qword [ebp - 0x10c], xmm0
movsd xmm0, qword [0x54b148]
comisd xmm1, xmm0
jb 0x42c53b
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x42c53b
mov esi, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x108]
add esi, 0
adc edi, 0x80000000
jmp 0x42c547
mov edi, dword [ebp - 0x108]
mov esi, dword [ebp - 0x10c]
movaps xmm0, xmm1
call fcn.00435040
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.004346b0
cmp ebx, 1
jl 0x42c580
push 0
call fcn.0042d1c0
mov ecx, dword [0x571754]
lea edx, [ebx + 1]
cmp edx, 2
mov esi, 2
cmovg edx, esi
test edx, edx
jle 0x42c5b0
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 0x42c5a2
cmp dword [0x5728ec], 0
jne 0x42c5dc
cmp dword [0x5728d8], 0
je 0x42c5dc
mov eax, dword [0x56baac]
shr eax, 7
push eax
mov eax, dword [0x56bb34]
add eax, 0x7f
shr eax, 7
push eax
call fcn.0041d1b0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00434e13
mov esp, ebp
pop ebp
ret 4