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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x188
mov esi, esp
mov dword [esi + 0x170], ebp
mov dword [esi + 0x174], esp
mov dword [esi + 0x180], 0xffffffff
mov dword [esi + 0x17c], 0x42be40
mov ebx, dword [ebp + 0xc]
lea eax, [esi + 0x178]
mov edx, 3
mov ecx, dword fs:[0]
mov dword [esi + 0x178], ecx
mov dword fs:[0], eax
mov edi, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
cmp edi, 3
mov dword [esi + 0x38], edi
mov dword [esi + 0x14], ecx
cmovb edx, edi
test edi, edi
mov dword [esi + 0x34], edx
je 0x42895a
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp byte [ecx + eax], 0x22
jne 0x4288a5
inc eax
cmp edx, eax
jne 0x428890
cmp edi, 3
jae 0x4288b6
jmp 0x42895a
cmp edi, 3
jb 0x42895a
cmp eax, edx
jb 0x42895a
lea eax, [ecx + 3]
mov ecx, edi
add ecx, 0xfffffffd
mov dword [ebx + 8], eax
mov dword [esi + 0x150], eax
mov dword [ebx + 0xc], ecx
mov dword [esi + 0x154], ecx
je 0x428941
mov ebx, dword [esi + 0x14]
mov edx, dword [esi + 0x38]
mov dword [esi + 4], eax
movzx eax, byte [ebx + 3]
lea edi, [edx - 4]
mov edx, dword [ebp + 0xc]
add ebx, 4
cmp eax, 0xa
mov dword [edx + 8], ebx
mov dword [esi], eax
mov dword [edx + 0xc], edi
je 0x428ef2
mov dword [esi + 8], ebx
cmp dword [esi], 0xd
mov ebx, dword [ebp + 0xc]
mov eax, dword [esi + 4]
jne 0x428941
test edi, edi
je 0x428941
mov edx, dword [esi + 0x14]
mov dword [esi + 0xc], edi
mov edi, dword [esi + 0x38]
movzx ebx, byte [edx + 4]
mov edx, dword [esi + 0x14]
add edi, 0xfffffffb
cmp bl, 0xa
mov ebx, dword [ebp + 0xc]
lea edx, [edx + 5]
mov dword [esi], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edi
je 0x428ef7
mov edi, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edx
mov edi, ecx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov dword [esi + 0x180], 0
mov dword [esi], eax
jmp 0x428ef7
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb8], 0
mov dword [esi + 0xa8], 1
mov dword [esi + 0xac], 0
mov dword [esi + 0xb0], 4
mov dword [esi + 0x180], 0xb
mov eax, dword [esi + 0xbc]
movq xmm0, qword [esi + 0xac]
movsd xmm1, qword [esi + 0xb4]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edi
mov byte [esi + 0x12], 1
mov dword [esi + 0x180], 0xb
mov dword [esi + 0x130], eax
movsd qword [esi + 0x128], xmm1
movq qword [esi + 0x120], xmm0
lea eax, [esi + 0x150]
push ebx
push eax
call fcn.0042ac60
add esp, 8
cmp dword [esi + 0x150], 1
jne 0x428add
mov eax, dword [esi + 0x164]
movq xmm0, qword [esi + 0x154]
movsd xmm1, qword [esi + 0x15c]
mov ecx, dword [esi + 0x130]
mov edi, dword [esi + 0x12c]
mov dword [esi + 0x148], eax
mov eax, dword [esi + 0x120]
movsd qword [esi + 0x140], xmm1
movq qword [esi + 0x138], xmm0
mov dword [esi], ecx
test eax, eax
je 0x428a4e
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push dword [esi + 0x124]
call fcn.0040b8d0
add esp, 0xc
mov dword [esi + 4], edi
test edi, edi
mov ebx, dword [ebp + 0xc]
mov edi, dword [esi + 0x38]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x34]
je 0x428aa7
mov eax, dword [esi]
mov eax, dword [eax]
test eax, eax
je 0x428a87
mov dword [esi + 0x180], 0xc
push dword [esi + 4]
call eax
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x14]
mov edi, dword [esi + 0x38]
mov ebx, dword [ebp + 0xc]
add esp, 4
mov eax, dword [esi]
mov eax, dword [eax + 4]
test eax, eax
je 0x428aa7
mov ecx, dword [esi]
push dword [ecx + 8]
push eax
push dword [esi + 4]
call fcn.0040b8d0
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x14]
add esp, 0xc
test edi, edi
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edi
je 0x428c0f
xor eax, eax
nop word [eax + eax]
cmp byte [ecx + eax], 0x27
jne 0x428b78
inc eax
cmp edx, eax
jne 0x428ac0
cmp edi, 3
jae 0x428b89
jmp 0x428c0f
movq xmm0, qword [esi + 0x160]
mov eax, dword [ebp + 8]
movsd xmm2, qword [esi + 0x150]
movsd xmm1, qword [esi + 0x158]
movq qword [eax + 0x10], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov eax, dword [esi + 0x120]
test eax, eax
je 0x428b27
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push dword [esi + 0x124]
call fcn.0040b8d0
add esp, 0xc
mov eax, dword [esi + 0x12c]
test eax, eax
mov dword [esi], eax
je 0x42a35d
mov eax, dword [esi + 0x130]
mov dword [esi + 4], eax
mov eax, dword [eax]
test eax, eax
je 0x428b57
mov dword [esi + 0x180], 0xa
push dword [esi]
call eax
add esp, 4
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 4]
test eax, eax
je 0x42a35d
push dword [ecx + 8]
push eax
push dword [esi]
call fcn.0040b8d0
add esp, 0xc
jmp 0x42a35d
cmp edi, 3
jb 0x428c0f
cmp eax, edx
jb 0x428c0f
lea eax, [ecx + 3]
mov ecx, edi
add ecx, 0xfffffffd
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
je 0x428bf8
mov dword [esi], eax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x38]
movzx edi, byte [eax + 3]
add eax, 4
add edx, 0xfffffffc
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
cmp edi, 0xa
je 0x429025
mov dword [esi + 4], eax
mov ebx, dword [ebp + 0xc]
mov eax, dword [esi]
cmp edi, 0xd
jne 0x428bf8
test edx, edx
je 0x428bf8
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x38]
movzx ebx, byte [eax + 4]
add edi, 0xfffffffb
add eax, 5
cmp bl, 0xa
mov ebx, dword [ebp + 0xc]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edi
je 0x42902a
mov eax, dword [esi + 4]
mov dword [ebx + 8], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], edx
mov edi, ecx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov dword [esi + 0x180], 0x14
jmp 0x42902a
mov dword [esi + 0x18], 1
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 4
mov byte [esi + 0x24], 0
mov byte [esi + 0x27], 0
mov word [esi + 0x25], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x28], 0
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 8], edx
mov edx, dword [esi + 0x144]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x28]
mov dword [esi], edx
mov edx, dword [esi + 0x148]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x138]
test eax, eax
je 0x428c95
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push dword [esi + 0x13c]
mov edi, ebx
mov ebx, edx
call fcn.0040b8d0
mov edx, ebx
mov ebx, edi
mov edi, dword [esi + 0x38]
mov ecx, dword [esi + 0x14]
add esp, 0xc
cmp dword [esi], 0
je 0x428ce2
mov eax, dword [edx]
mov dword [esi + 0x40], edx
test eax, eax
je 0x428cbd
mov dword [esi + 0x180], 0xe
push dword [esi]
call eax
mov ecx, dword [esi + 0x14]
mov edi, dword [esi + 0x38]
mov ebx, dword [ebp + 0xc]
add esp, 4
mov edx, dword [esi + 0x40]
mov eax, dword [edx + 4]
test eax, eax
je 0x428ce2
push dword [edx + 8]
push eax
push dword [esi]
call fcn.0040b8d0
mov ecx, dword [esi + 0x14]
add esp, 0xc
mov dword [esi + 0x180], 0x13
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edi
mov dword [esi + 0x180], 0x13
lea eax, [esi + 0xd8]
push ebx
push eax
call fcn.0042bb30
add esp, 8
cmp dword [esi + 0xd8], 3
jne 0x428d38
mov eax, dword [esi + 0xdc]
mov ecx, dword [esi + 0xe0]
mov dword [esi + 0x64], 0x80000000
mov edi, 3
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x60], 3
jmp 0x428de6
movsd xmm0, qword [esi + 0xd8]
movsd xmm1, qword [esi + 0xe0]
mov ecx, dword [esi + 0x34]
movsd qword [esi + 0x60], xmm0
movq xmm0, qword [esi + 0xe8]
movsd qword [esi + 0x68], xmm1
mov edi, dword [esi + 0x60]
movq qword [esi + 0x70], xmm0
cmp edi, 1
jne 0x428de6
test ecx, ecx
je 0x428d82
shl ecx, 2
lea eax, [ecx + ecx*2]
push 4
push eax
push dword [esi + 0xc]
call fcn.0040b8d0
add esp, 0xc
cmp dword [esi + 4], 0
je 0x428dbf
mov eax, dword [esi + 8]
mov eax, dword [eax]
test eax, eax
je 0x428da3
mov dword [esi + 0x180], 0x11
push dword [esi + 4]
call eax
add esp, 4
mov eax, dword [esi + 8]
mov eax, dword [eax + 4]
test eax, eax
je 0x428dbf
mov ecx, dword [esi + 8]
push dword [ecx + 8]
push eax
push dword [esi + 4]
call fcn.0040b8d0
add esp, 0xc
lea eax, [esi + 0x64]
mov edx, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
movq xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov dword [edx + 0x14], ecx
movsd qword [edx + 0xc], xmm1
movq qword [edx + 4], xmm0
mov dword [edx], 1
jmp 0x428e5d
movq xmm0, qword [esi + 0x70]
mov eax, dword [ebp + 8]
movsd xmm2, qword [esi + 0x60]
movsd xmm1, qword [esi + 0x68]
test ecx, ecx
movq qword [eax + 0x10], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
je 0x428e1e
shl ecx, 2
lea eax, [ecx + ecx*2]
push 4
push eax
push dword [esi + 0xc]
call fcn.0040b8d0
add esp, 0xc
cmp dword [esi + 4], 0
je 0x428e5d
mov eax, dword [esi + 8]
mov dword [esi], edi
mov eax, dword [eax]
test eax, eax
je 0x428e41
mov dword [esi + 0x180], 0x12
push dword [esi + 4]
call eax
add esp, 4
mov eax, dword [esi + 8]
mov eax, dword [eax + 4]
test eax, eax
je 0x428e5d
mov ecx, dword [esi + 8]
push dword [ecx + 8]
push eax
push dword [esi + 4]
call fcn.0040b8d0
add esp, 0xc
mov eax, dword [esi + 0xa8]
cmp eax, 2
jb 0x42a35d
cmp eax, 3
jne 0x428e98
mov eax, dword [esi + 0xac]
cmp eax, 0x80000000
je 0x42a35d
test eax, eax
je 0x42a35d
push 1
push eax
push dword [esi + 0xb0]
jmp 0x428b6b
mov eax, dword [esi + 0xac]
test eax, eax
je 0x428eb9
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push dword [esi + 0xb0]
call fcn.0040b8d0
add esp, 0xc
mov eax, dword [esi + 0xb8]
test eax, eax
mov dword [esi], eax
je 0x42a35d
mov eax, dword [esi + 0xbc]
mov dword [esi + 4], eax
mov eax, dword [eax]
test eax, eax
je 0x428b57
mov dword [esi + 0x180], 0x19
push dword [esi]
call eax
add esp, 4
jmp 0x428b57
mov dword [esi], ebx
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0xd8], 0
mov dword [esi + 0x4c], 1
mov dword [esi + 0x50], 0
mov dword [esi + 4], edi
mov dword [esi + 0x48], 0x80000000
mov dword [esi + 0xe0], 0x5b2300
mov dword [esi + 0xe4], 0x9207e5d
mov dword [esi + 0xe8], 0xff800021
mov dword [esi + 0xec], 1
mov dword [esi + 0x180], 0
lea eax, [esi + 0xd8]
lea ecx, [esi + 0x60]
push ebx
push eax
push ecx
call fcn.00420760
add esp, 0xc
mov ebx, dword [esi + 0x60]
cmp ebx, 3
je 0x428fdc
cmp ebx, 1
jne 0x42a092
mov ebx, dword [ebp + 0xc]
mov eax, dword [esi]
mov dword [ebx + 8], eax
mov eax, dword [esi + 4]
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 0x64]
test eax, eax
je 0x428f99
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push dword [esi + 0x68]
call fcn.0040b8d0
add esp, 0xc
mov eax, dword [esi + 0x70]
test eax, eax
mov dword [esi], eax
je 0x4299b4
mov eax, dword [esi + 0x74]
mov dword [esi + 4], eax
mov eax, dword [eax]
test eax, eax
je 0x428fc6
mov dword [esi + 0x180], 2
push dword [esi]
call eax
mov ebx, dword [ebp + 0xc]
add esp, 4
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4299b4
push dword [ecx + 8]
jmp 0x4299a9
mov edi, dword [esi + 0x64]
mov ebx, dword [ebp + 0xc]
cmp edi, 0x80000001
je 0x4299b4
mov eax, dword [esi + 0x48]
mov ebx, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
cmp eax, 0x80000000
je 0x429014
test eax, eax
je 0x429014
push 1
push eax
push dword [esi + 0x4c]
mov dword [esi], ecx
call fcn.0040b8d0
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x48], edi
mov dword [esi + 0x4c], ebx
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0x50], ecx
jmp 0x4299b4
mov ebx, dword [ebp + 0xc]
mov edi, edx
mov dword [esi + 0x168], eax
mov dword [esi + 8], eax
mov dword [esi + 0xd8], 0
mov dword [esi + 0xe0], 0
mov dword [esi + 0xe4], 0
mov dword [esi + 0xec], 0
mov byte [esi + 0xf0], 0x27
mov dword [esi + 0xf4], 0
mov dword [esi + 0xfc], 1
mov dword [esi + 0x100], 0x461ab8
mov dword [esi + 4], edi
mov dword [esi + 0x16c], edi
lea eax, [esi + 0xe4]
mov dword [esi + 0x104], 3
mov dword [esi + 0x180], 0x14
lea ecx, [esi + 0x60]
push ebx
push eax
push ecx
call fcn.00426c20
add esp, 0xc
mov edx, dword [esi + 0x60]
cmp edx, 3
jne 0x4291b2
mov ecx, dword [esi + 0xec]
mov edi, dword [esi + 0xe4]
mov edx, dword [esi + 0xe8]
mov ebx, dword [ebp + 0xc]
lea eax, [esi + 0xf0]
test ecx, ecx
je 0x4290f5
cmp ecx, 1
jne 0x4290f9
test edi, edi
jne 0x4290f9
push ebx
push eax
lea eax, [esi + 0x60]
push eax
call fcn.00427c30
add esp, 0xc
jmp 0x42913d
test edi, edi
je 0x42912f
test edi, edi
je 0x429112
cmp ecx, edx
jne 0x429112
push ebx
push eax
push ecx
lea eax, [esi + 0x60]
push eax
call fcn.00428100
add esp, 0x10
jmp 0x42913d
xor ebx, ebx
cmp edi, 1
sbb ebx, ebx
or ebx, edx
push dword [ebp + 0xc]
push eax
push ebx
push ecx
lea eax, [esi + 0x60]
push eax
call fcn.00425720
add esp, 0x14
jmp 0x42913d
push ebx
push eax
lea eax, [esi + 0x60]
push eax
call fcn.00426f20
add esp, 0xc
mov edx, dword [esi + 0x60]
cmp edx, 3
jne 0x4291b2
mov eax, dword [esi + 0x100]
mov ebx, dword [ebp + 0xc]
movdqa xmm0, xmmword [0x45f270]
mov edx, 2
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x104]
mov ecx, dword [ebx + 8]
mov dword [esi + 0xa0], eax
mov eax, dword [ebx + 0xc]
mov dword [esi], ecx
cmp eax, 2
mov dword [esi + 0x34], eax
cmovb edx, eax
test eax, eax
mov eax, 1
je 0x4291a9
xor edi, edi
nop word cs:[eax + eax]
cmp byte [ecx + edi], 0x27
jne 0x429286
inc edi
cmp edx, edi
jne 0x429190
cmp dword [esi + 0x34], 1
jne 0x42929f
xor ecx, ecx
xor edi, edi
jmp 0x42931f
mov eax, dword [esi + 0x64]
movq xmm0, qword [esi + 0x68]
mov ecx, dword [esi + 0x74]
mov ebx, dword [ebp + 0xc]
mov dword [esi], eax
mov eax, dword [esi + 0x70]
cmp edx, 1
mov edi, edx
mov edx, 2
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x180], 0x14
cmovne edx, edi
mov dword [esi + 0xd8], edx
mov edx, dword [esi]
mov dword [esi + 0xdc], edx
movq qword [esi + 0xe0], xmm0
mov dword [esi + 0xe8], eax
lea eax, [esi + 0x168]
lea edx, [esi + 0x60]
mov dword [esi + 0xec], ecx
lea ecx, [esi + 0x48]
mov dword [esi + 0x70], eax
mov dword [esi + 0x60], 3
mov dword [esi + 0x64], 0x461abb
mov dword [esi + 0x68], 0x18
lea eax, [esi + 0xd8]
push edx
push eax
push ecx
call fcn.0040a8c0
add esp, 0xc
mov edx, dword [esi + 0x48]
mov edi, dword [esi + 0x4c]
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
cmp edx, 3
jne 0x429257
mov ebx, dword [ebp + 0xc]
mov dword [esi + 4], edi
mov dword [esi + 0xc], ecx
mov dword [esi], eax
jmp 0x429795
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov edi, dword [esi + 0x5c]
mov ecx, dword [esi + 0x58]
mov dword [esi + 0x18], edx
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0x2c], edi
mov dword [esi + 0x28], ecx
mov edi, dword [esi + 0x38]
mov ecx, dword [esi + 0x14]
cmp edx, 1
je 0x428c40
jmp 0x4298c4
xor ecx, ecx
cmp dword [esi + 0x34], 1
je 0x4291ab
cmp edi, edx
mov edi, 0
jb 0x42931f
mov eax, dword [esi]
mov dword [esi + 0x180], 0x14
lea ecx, [eax + 2]
mov eax, dword [esi + 0x34]
mov dword [esi + 0x3c], ecx
mov dword [ebx + 8], ecx
add eax, 0xfffffffe
mov dword [esi + 0xc], eax
mov dword [ebx + 0xc], eax
push dword [esi + 0xa0]
push dword [esi + 0x40]
push ebx
lea eax, [esi + 0x60]
push eax
call fcn.00424ae0
add esp, 0x10
mov eax, dword [esi + 0x60]
cmp eax, 3
jne 0x429302
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0xc]
mov dword [eax + 0xc], ecx
mov ecx, dword [esi]
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], 2
mov dword [esi + 0x18], 3
jmp 0x42936b
mov ebx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 0x64]
movq xmm0, qword [esi + 0x68]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0x74]
cmp eax, 1
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edi
movq qword [esi + 0x20], xmm0
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], edx
jne 0x42936b
mov eax, dword [esi]
mov ecx, dword [esi + 0x34]
movdqa xmm0, xmmword [0x45f270]
mov dword [esi + 0xc], 1
mov dword [ebx + 8], eax
xor eax, eax
test ecx, ecx
mov dword [ebx + 0xc], ecx
setne cl
je 0x4293a1
mov edx, dword [esi]
mov al, cl
xor ecx, ecx
cmp byte [edx + ecx], 0x27
jne 0x42939d
inc ecx
cmp eax, ecx
jne 0x42935e
jmp 0x4293aa
movq xmm0, qword [esi + 0x18]
movsd xmm1, qword [esi + 0x20]
movsd xmm2, qword [esi + 0x28]
movq qword [esi + 0xc0], xmm0
movsd qword [esi + 0xd0], xmm2
movsd qword [esi + 0xc8], xmm1
mov edx, dword [esi + 0xc0]
jmp 0x429489
cmp ecx, eax
jae 0x4293aa
xor eax, eax
xor edx, edx
jmp 0x429447
mov eax, dword [esi]
mov dword [esi + 0x180], 0x18
lea ecx, [eax + 1]
mov eax, dword [esi + 0x34]
mov dword [esi + 0x118], ecx
mov dword [ebx + 8], ecx
dec eax
mov dword [esi + 0x3c], eax
mov dword [ebx + 0xc], eax
push dword [esi + 0xa0]
push dword [esi + 0x40]
push ebx
lea eax, [esi + 0x60]
push eax
call fcn.00424ae0
add esp, 0x10
mov eax, dword [esi + 0x60]
cmp eax, 3
jne 0x429424
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x118]
mov dword [esi + 0xc], 3
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esi]
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc8], 1
mov dword [esi + 0xc0], 3
lea ecx, [esi + 0x1c]
jmp 0x429477
mov dword [esi + 0xc], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0x118]
mov edx, dword [esi + 0x64]
movq xmm0, qword [esi + 0x68]
mov edi, dword [esi + 0x3c]
mov ebx, dword [esi + 0x74]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x70]
mov dword [ecx + 0xc], edi
mov edi, dword [esi + 0xc]
lea ecx, [esi + 0x1c]
mov dword [esi + 0x180], 0x14
mov dword [esi + 0xc0], edi
mov dword [esi + 0xc4], edx
movq qword [esi + 0xc8], xmm0
mov dword [esi + 0xd0], eax
mov dword [esi + 0xd4], ebx
mov dword [esi + 0x180], 0x14
call fcn.004019e0
mov edx, dword [esi + 0xc]
cmp edx, 3
je 0x4294ba
cmp edx, 1
jne 0x429567
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi]
mov dword [esi + 0x180], 0x14
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x34]
mov dword [eax + 0xc], ecx
lea ecx, [esi + 0xc4]
call fcn.004019e0
mov edi, dword [ebp + 0xc]
mov ebx, dword [esi + 8]
mov ecx, dword [esi + 4]
mov dword [esi + 0x180], 0x14
mov eax, dword [edi + 8]
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ecx
sub eax, ebx
sub ecx, eax
jb 0x429955
lea edx, [ebx + eax]
mov dword [edi + 8], edx
mov dword [edi + 0xc], ecx
lea ecx, [esi + 0x18]
push eax
push ebx
push ecx
call fcn.004536d0
add esp, 0xc
cmp dword [esi + 0x18], 0
je 0x429586
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
mov dword [esi + 0x60], 0
mov dword [esi + 0x64], 4
mov dword [esi + 0x68], 0
mov dword [esi + 0x6c], 0
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0x20]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
movzx eax, byte [0x472181]
push 4
push 8
call fcn.0040b8c0
add esp, 8
test eax, eax
je 0x42998e
mov dword [eax], edi
mov ecx, 0x4618c0
mov edx, 4
xor edi, edi
mov dword [eax + 4], ebx
mov dword [esi + 0xc], 1
jmp 0x429593
mov edi, dword [esi + 0xc4]
movq xmm0, qword [esi + 0xc8]
mov ecx, dword [esi + 0xd4]
mov eax, dword [esi + 0xd0]
mov ebx, dword [ebp + 0xc]
jmp 0x42959d
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x20]
mov dword [esi + 0xc], 3
movd xmm0, edx
mov ebx, dword [ebp + 0xc]
mov edx, dword [esi + 0xc]
cmp edx, 3
mov dword [esi], edi
jne 0x4291c5
movd ecx, xmm0
cmp ecx, 3
mov dword [esi + 0xc], ecx
jb 0x4295f9
mov dword [esi + 0x180], 0x14
lea eax, [esi + 0xd8]
push 2
push 0x461ad3
push ecx
push edi
push eax
call fcn.00453e00
add esp, 0x14
lea ecx, [esi + 0x60]
lea edx, [esi + 0xd8]
call fcn.00428620
cmp dword [esi + 0x60], 0
mov edi, dword [esi]
mov ecx, dword [esi + 0xc]
jne 0x42961b
mov edx, 0x80000000
jmp 0x429784
mov edx, 0x80000000
cmp ecx, 2
jne 0x429787
movzx eax, word [edi]
cmp eax, 0xa0d
je 0x42961b
mov ecx, 2
jmp 0x429787
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 1
mov dword [esi + 0x20], 0
mov dword [esi + 0x180], 0x16
lea eax, [esi + 0xd8]
push 2
push 0x461ad3
push ecx
push edi
push eax
call fcn.00453e00
add esp, 0x14
movsd xmm1, qword [esi + 0x108]
movsd xmm2, qword [esi + 0x100]
movq xmm0, qword [esi + 0x110]
mov dword [esi + 4], 0
movsd qword [esi + 0x90], xmm1
movsd xmm1, qword [esi + 0xf8]
movsd qword [esi + 0x88], xmm2
movsd xmm2, qword [esi + 0xf0]
movq qword [esi + 0x98], xmm0
movsd qword [esi + 0x80], xmm1
movsd xmm1, qword [esi + 0xe8]
movsd qword [esi + 0x78], xmm2
movsd xmm2, qword [esi + 0xd8]
movsd qword [esi + 0x70], xmm1
movsd xmm1, qword [esi + 0xe0]
movsd qword [esi + 0x60], xmm2
movsd qword [esi + 0x68], xmm1
jmp 0x4296e3
mov edi, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 8]
mov byte [eax + edi], 0xa
inc edi
mov dword [esi + 4], ecx
mov dword [esi + 0x20], edi
lea ecx, [esi + 0xd8]
lea edx, [esi + 0x60]
call fcn.00428620
cmp dword [esi + 0xd8], 0
mov edx, dword [esi + 4]
je 0x429764
mov ebx, dword [esi + 0xdc]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0xe0]
sub ebx, edx
sub eax, edi
mov dword [esi + 8], ecx
cmp eax, ebx
jae 0x429734
mov dword [esi + 0x34], ebx
push ebx
push edi
lea eax, [esi + 0x18]
push eax
call fcn.0045bf00
add esp, 0xc
mov edi, dword [esi + 0x20]
mov edx, dword [esi + 4]
mov ebx, dword [esi + 0x34]
mov eax, dword [esi + 0x1c]
add edx, dword [esi]
add eax, edi
push ebx
push edx
push eax
call fcn.00457b70
add esp, 0xc
add edi, ebx
mov dword [esi + 0x20], edi
cmp dword [esi + 0x18], edi
jne 0x4296d2
push 1
push edi
lea eax, [esi + 0x18]
push eax
call fcn.0045bf00
add esp, 0xc
jmp 0x4296cf
mov ecx, dword [esi + 0xc]
mov eax, dword [esi]
sub ecx, edx
add eax, edx
push ecx
push eax
lea eax, [esi + 0x18]
push eax
call fcn.00415990
add esp, 0xc
mov edx, dword [esi + 0x18]
mov edi, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0x4c], edx
mov dword [esi + 0xc], ecx
mov dword [esi + 4], edx
mov dword [esi], edi
mov dword [esi + 0x50], edi
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
mov edx, 3
cmp ecx, 3
mov dword [esi + 0xc0], eax
mov dword [esi + 0xc4], ecx
cmovb edx, ecx
test ecx, ecx
je 0x4297ef
xor edi, edi
nop dword [eax + eax]
cmp byte [eax + edi], 0x27
jne 0x4297d2
inc edi
cmp edx, edi
jne 0x4297c0
cmp ecx, 3
jae 0x4297db
jmp 0x4297ef
cmp ecx, 3
jb 0x4297ef
cmp edi, edx
jb 0x4297ef
add eax, 3
add ecx, 0xfffffffd
mov edi, dword [esi + 0x38]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov ecx, dword [esi + 0x14]
jmp 0x42985a
movdqa xmm0, xmmword [0x45f260]
lea eax, [esi + 0xc0]
mov dword [esi + 0x24], ebx
mov dword [esi + 0x180], 0x15
lea ecx, [esi + 0xd8]
mov dword [esi + 0x28], eax
lea eax, [esi + 0x18]
mov dword [esi + 0x18], 3
mov dword [esi + 0x1c], 0x461abb
mov dword [esi + 0x20], 0x18
movdqu xmmword [esi + 0xd8], xmm0
mov dword [esi + 0xe8], 0
push eax
push ecx
lea eax, [esi + 0x60]
push eax
call fcn.0040a8c0
add esp, 0xc
cmp dword [esi + 0x60], 3
mov ebx, dword [ebp + 0xc]
mov edi, dword [esi + 0x38]
mov ecx, dword [esi + 0x14]
jne 0x429880
mov eax, dword [esi + 4]
mov edx, dword [esi + 0xc]
mov dword [esi + 0x1c], eax
mov eax, dword [esi]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov dword [esi + 0x18], 3
mov edx, dword [esi + 0x18]
cmp edx, 1
je 0x428c40
jmp 0x4298c4
mov eax, dword [esi + 4]
movq xmm0, qword [esi + 0x70]
movsd xmm2, qword [esi + 0x60]
movsd xmm1, qword [esi + 0x68]
test eax, 0x7fffffff
movq qword [esi + 0x28], xmm0
movsd qword [esi + 0x20], xmm1
movsd qword [esi + 0x18], xmm2
je 0x4298b8
push 1
push eax
push dword [esi]
call fcn.0040b8d0
mov ecx, dword [esi + 0x14]
add esp, 0xc
mov edx, dword [esi + 0x18]
cmp edx, 1
je 0x428c40
movq xmm0, qword [esi + 0x28]
mov eax, dword [ebp + 8]
movsd xmm2, qword [esi + 0x18]
movsd xmm1, qword [esi + 0x20]
movq qword [eax + 0x10], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov eax, dword [esi + 0x138]
test eax, eax
je 0x429909
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push dword [esi + 0x13c]
mov edi, edx
call fcn.0040b8d0
mov edx, edi
add esp, 0xc
mov eax, dword [esi + 0x144]
test eax, eax
mov dword [esi], eax
je 0x428e5d
mov eax, dword [esi + 0x148]
mov dword [esi + 8], edx
mov dword [esi + 4], eax
mov eax, dword [eax]
test eax, eax
je 0x42993c
mov dword [esi + 0x180], 0xf
push dword [esi]
call eax
add esp, 4
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 4]
test eax, eax
je 0x428e5d
push dword [ecx + 8]
push eax
push dword [esi]
jmp 0x428e55
mov dword [esi + 0x60], 0x4619d4
mov dword [esi + 0x64], 1
mov dword [esi + 0x70], 0
mov dword [esi + 0x68], 4
mov dword [esi + 0x6c], 0
push 0x461a48
lea eax, [esi + 0x60]
push eax
call fcn.0045db00
add esp, 8
jmp 0x42a69c
mov dword [esi + 0x180], 0x17
push 8
push 4
call fcn.0045d9d0
add esp, 8
jmp 0x42a69c
push eax
push dword [esi]
call fcn.0040b8d0
add esp, 0xc
mov dword [esi + 0x180], 0
mov eax, dword [ebx + 8]
mov dword [esi + 0xd8], 0
mov dword [esi + 0x180], 0
mov dword [esi], eax
mov eax, dword [ebx + 0xc]
mov dword [esi + 4], eax
lea eax, [esi + 0xe0]
mov dword [eax + 8], 0xff800021
mov dword [eax + 4], 0x9207e5d
mov dword [eax], 0x5b2300
mov dword [esi + 0xec], 1
push ebx
lea eax, [esi + 0xd8]
push eax
lea eax, [esi + 0x60]
push eax
call fcn.00420760
add esp, 0xc
mov ebx, dword [esi + 0x60]
cmp ebx, 3
jne 0x429aef
mov eax, dword [esi + 0x64]
cmp eax, 0x80000001
je 0x429b90
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x6c]
mov dword [esi + 4], eax
cmp ebx, 0x80000000
mov dword [esi], ecx
mov dword [esi + 8], edx
jne 0x429a97
mov ebx, dword [esi + 0x50]
mov eax, dword [esi + 0x4c]
test ebx, ebx
je 0x429a7c
mov dword [esi + 0xc], eax
js 0x429b59
movzx eax, byte [0x472181]
push 1
push ebx
call fcn.0040b8c0
add esp, 8
test eax, eax
je 0x429b5d
mov edi, eax
mov eax, dword [esi + 0xc]
jmp 0x429a81
mov edi, 1
push ebx
push eax
push edi
call fcn.00457b70
add esp, 0xc
mov ecx, dword [esi]
mov edx, dword [esi + 8]
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], edi
mov edi, dword [esi + 0x50]
sub ebx, edi
cmp ebx, edx
jae 0x429ac0
mov dword [esi + 0x180], 7
push edx
push edi
lea eax, [esi + 0x48]
push eax
call fcn.0045bf00
add esp, 0xc
mov edi, dword [esi + 0x50]
mov ecx, dword [esi]
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x4c]
add eax, edi
push edx
push ecx
push eax
mov ebx, edx
call fcn.00457b70
add esp, 0xc
mov eax, dword [esi + 4]
add edi, ebx
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0x50], edi
test eax, 0x7fffffff
je 0x4299be
push 1
jmp 0x4299a9
cmp ebx, 1
jne 0x42a092
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x429b21
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push dword [esi + 0x68]
call fcn.0040b8d0
add esp, 0xc
mov eax, dword [esi + 0x70]
test eax, eax
mov dword [esi], eax
je 0x429b90
mov eax, dword [esi + 0x74]
mov dword [esi + 4], eax
mov eax, dword [eax]
test eax, eax
je 0x429b47
mov dword [esi + 0x180], 1
push dword [esi]
call eax
add esp, 4
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 4]
test eax, eax
je 0x429b90
push dword [ecx + 8]
push eax
push dword [esi]
jmp 0x429b7b
xor eax, eax
jmp 0x429b62
mov eax, 1
mov dword [esi + 0x180], 7
push ebx
push eax
call fcn.0045d9b0
add esp, 8
jmp 0x42a69c
call fcn.0040b8d0
add esp, 0xc
nop word cs:[eax + eax]
nop dword [eax]
mov ebx, dword [ebp + 0xc]
mov eax, 2
mov edi, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
cmp edi, 2
cmovb eax, edi
test edi, edi
je 0x42a37f
xor ecx, ecx
mov dword [esi + 0xc], edx
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp byte [edx + ecx], 0x22
jne 0x429be0
inc ecx
cmp eax, ecx
jne 0x429bc0
cmp edi, 1
jne 0x429be9
jmp 0x429c27
cmp edi, 1
je 0x429c21
cmp ecx, eax
jb 0x429c21
mov eax, edi
lea ecx, [edx + 2]
add eax, 0xfffffffe
mov dword [ebx + 8], ecx
mov dword [esi + 4], ecx
mov dword [esi], eax
mov dword [ebx + 0xc], eax
je 0x429c16
movzx eax, byte [edx + 2]
lea ecx, [edx + 3]
mov dword [ebx + 8], ecx
lea ecx, [edi - 3]
mov dword [ebx + 0xc], ecx
cmp al, 0x22
jne 0x42a013
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edi
cmp byte [edx], 0x22
jne 0x42a37f
mov eax, edi
lea ecx, [edx + 1]
dec eax
mov dword [ebx + 8], ecx
mov dword [esi + 4], ecx
mov dword [esi], eax
mov dword [ebx + 0xc], eax
je 0x42a374
movzx eax, byte [edx + 1]
lea ecx, [edx + 2]
mov dword [ebx + 8], ecx
lea ecx, [edi - 2]
mov dword [ebx + 0xc], ecx
cmp al, 0x22
je 0x42a374
mov dword [esi + 8], 1
mov eax, dword [esi + 4]
mov dword [esi + 0xd8], 0
mov dword [esi + 0x180], 0
mov dword [ebx + 8], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
lea eax, [esi + 0xe0]
mov dword [eax + 8], 0xff800021
mov dword [eax + 4], 0x9207e5d
mov dword [eax], 0x5b2300
mov dword [esi + 0xec], 1
push ebx
lea eax, [esi + 0xd8]
push eax
lea eax, [esi + 0x60]
push eax
call fcn.00420760
add esp, 0xc
mov ebx, dword [esi + 0x60]
cmp ebx, 3
jne 0x42a06c
mov eax, dword [esi + 0x64]
mov ebx, dword [ebp + 0xc]
cmp eax, 0x80000001
je 0x42a08a
mov edi, dword [esi + 0x48]
mov edx, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
mov dword [esi + 0xa0], eax
cmp edi, 0x80000000
mov dword [esi + 0x40], edx
mov dword [esi], ecx
jne 0x429d40
mov edi, dword [esi + 0x50]
mov eax, dword [esi + 0x4c]
test edi, edi
je 0x429d2a
mov dword [esi + 4], eax
js 0x42a667
movzx eax, byte [0x472181]
push 1
push edi
call fcn.0040b8c0
add esp, 8
test eax, eax
je 0x42a660
mov ebx, eax
mov eax, dword [esi + 4]
jmp 0x429d2f
mov ebx, 1
push edi
push eax
push ebx
call fcn.00457b70
add esp, 0xc
mov dword [esi + 0x48], edi
mov dword [esi + 0x4c], ebx
mov ebx, dword [esi + 0x50]
mov eax, dword [esi + 8]
sub edi, ebx
cmp edi, eax
jae 0x429d67
mov dword [esi + 0x180], 3
push eax
push ebx
lea eax, [esi + 0x48]
push eax
call fcn.0045bf00
add esp, 0xc
mov ebx, dword [esi + 0x50]
mov eax, dword [esi + 0x4c]
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0xc]
add eax, ebx
push edi
push ecx
push eax
call fcn.00457b70
add esp, 0xc
add ebx, edi
mov dword [esi + 0x50], ebx
mov eax, dword [esi + 0x48]
cmp eax, 0x80000000
jne 0x429dd8
mov eax, dword [esi + 0x4c]
test ebx, ebx
je 0x429dbd
mov dword [esi + 4], eax
js 0x42a686
movzx eax, byte [0x472181]
push 1
push ebx
call fcn.0040b8c0
add esp, 8
test eax, eax
je 0x42a67f
mov edi, eax
mov eax, dword [esi + 4]
jmp 0x429dc2
mov edi, 1
push ebx
push eax
push edi
call fcn.00457b70
add esp, 0xc
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], edi
mov eax, ebx
mov ebx, dword [esi + 0x50]
mov edi, dword [esi]
sub eax, ebx
cmp eax, edi
jae 0x429dfd
mov dword [esi + 0x180], 3
push edi
push ebx
lea eax, [esi + 0x48]
push eax
call fcn.0045bf00
add esp, 0xc
mov ebx, dword [esi + 0x50]
mov edi, dword [esi]
mov eax, dword [esi + 0x4c]
add eax, ebx
push edi
push dword [esi + 0x40]
push eax
call fcn.00457b70
add esp, 0xc
add ebx, edi
mov dword [esi + 0x180], 3
mov dword [esi + 0x50], ebx
mov ebx, dword [ebp + 0xc]
jmp 0x429e60
mov edi, dword [esi + 0x50]
mov ecx, dword [esi]
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x4c]
add eax, edi
push edx
push ecx
push eax
mov ebx, edx
call fcn.00457b70
add esp, 0xc
mov eax, dword [esi + 4]
add edi, ebx
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0x50], edi
test eax, 0x7fffffff
jne 0x429f20
mov eax, dword [ebx + 8]
mov dword [esi + 0xd8], 0
mov dword [esi + 0x180], 3
mov dword [esi], eax
mov eax, dword [ebx + 0xc]
mov dword [esi + 4], eax
lea eax, [esi + 0xe0]
mov dword [eax + 8], 0xff800021
mov dword [eax + 4], 0x9207e5d
mov dword [eax], 0x5b2300
mov dword [esi + 0xec], 1
push ebx
lea eax, [esi + 0xd8]
push eax
lea eax, [esi + 0x60]
push eax
call fcn.00420760
add esp, 0xc
mov ebx, dword [esi + 0x60]
cmp ebx, 3
jne 0x429f90
mov eax, dword [esi + 0x64]
cmp eax, 0x80000001
je 0x42a000
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x6c]
mov dword [esi + 4], eax
cmp ebx, 0x80000000
mov dword [esi], ecx
mov dword [esi + 8], edx
jne 0x429f57
mov ebx, dword [esi + 0x50]
mov eax, dword [esi + 0x4c]
test ebx, ebx
je 0x429f3c
mov dword [esi + 0xc], eax
js 0x42a641
movzx eax, byte [0x472181]
push 1
push ebx
call fcn.0040b8c0
add esp, 8
test eax, eax
je 0x42a645
mov edi, eax
mov eax, dword [esi + 0xc]
jmp 0x429f41
push 1
push eax
push dword [esi]
call fcn.0040b8d0
add esp, 0xc
mov dword [esi + 0x180], 3
jmp 0x429e60
mov edi, 1
push ebx
push eax
push edi
call fcn.00457b70
add esp, 0xc
mov ecx, dword [esi]
mov edx, dword [esi + 8]
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], edi
mov edi, dword [esi + 0x50]
sub ebx, edi
cmp ebx, edx
jae 0x429e38
mov dword [esi + 0x180], 5
push edx
push edi
lea eax, [esi + 0x48]
push eax
call fcn.0045bf00
add esp, 0xc
jmp 0x429e30
cmp ebx, 1
jne 0x42a01f
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x429fc2
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push dword [esi + 0x68]
call fcn.0040b8d0
add esp, 0xc
mov eax, dword [esi + 0x70]
test eax, eax
mov dword [esi], eax
je 0x42a000
mov eax, dword [esi + 0x74]
mov dword [esi + 4], eax
mov eax, dword [eax]
test eax, eax
je 0x429fe8
mov dword [esi + 0x180], 4
push dword [esi]
call eax
add esp, 4
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 4]
test eax, eax
je 0x42a000
push dword [ecx + 8]
push eax
push dword [esi]
call fcn.0040b8d0
add esp, 0xc
mov eax, dword [esi + 0xa0]
test eax, 0x7fffffff
je 0x429b90
jmp 0x42a061
mov dword [esi + 8], 2
jmp 0x429c66
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x64]
mov edi, dword [esi + 0x68]
mov edx, dword [esi + 0x6c]
test dword [esi + 0xa0], 0x7fffffff
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x3c], eax
je 0x42a0a7
push 1
push dword [esi + 0xa0]
push dword [esi + 0x40]
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
call fcn.0040b8d0
mov edx, dword [esi + 8]
mov ecx, dword [esi + 4]
add esp, 0xc
jmp 0x42a0a7
push 1
push eax
push dword [esi + 0x40]
jmp 0x429b7b
cmp ebx, 1
jne 0x42a092
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 4]
mov dword [eax + 8], ecx
mov ecx, dword [esi]
mov dword [eax + 0xc], ecx
lea ecx, [esi + 0x64]
call fcn.004019e0
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebx + 0xc]
jmp 0x42a385
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x64]
mov edi, dword [esi + 0x68]
mov edx, dword [esi + 0x6c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x48]
cmp eax, 0x80000000
je 0x42a0d5
test eax, eax
je 0x42a0d5
push 1
push eax
push dword [esi + 0x4c]
mov dword [esi + 4], ebx
mov dword [esi], edi
mov edi, ecx
mov ebx, edx
call fcn.0040b8d0
mov edx, ebx
mov ecx, edi
mov edi, dword [esi]
mov ebx, dword [esi + 4]
add esp, 0xc
cmp ebx, 3
jne 0x42a0fc
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0xc4], ecx
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
mov dword [esi + 0xcc], edx
mov dword [esi], edi
mov dword [esi + 0xc8], edi
jmp 0x42a1a2
cmp ebx, 1
mov eax, 2
mov dword [esi + 0x180], 0xffffffff
cmovne eax, ebx
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xe4], edx
mov dword [esi + 0xe0], edi
lea ecx, [esi + 0x60]
mov dword [esi + 0x6c], ebx
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0xec], eax
lea eax, [esi + 0x150]
mov dword [esi + 0x70], eax
lea eax, [esi + 0xc0]
mov dword [esi + 0x60], 3
mov dword [esi + 0x64], 0x461a84
mov dword [esi + 0x68], 0x16
push ecx
lea ecx, [esi + 0xd8]
push ecx
push eax
call fcn.0040a8c0
add esp, 0xc
mov eax, dword [esi + 0xc0]
mov ecx, dword [esi + 0xc4]
mov edx, dword [esi + 0xc8]
mov edi, dword [esi + 0xcc]
cmp eax, 3
jne 0x42a2f5
mov dword [esi + 8], edi
mov dword [esi], edx
mov dword [esi + 4], ecx
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
mov edx, 3
cmp ecx, 3
mov dword [esi + 0xc0], eax
mov dword [esi + 0xc4], ecx
cmovb edx, ecx
test ecx, ecx
je 0x42a202
xor edi, edi
nop word cs:[eax + eax]
nop
cmp byte [eax + edi], 0x22
jne 0x42a1e2
inc edi
cmp edx, edi
jne 0x42a1d0
cmp ecx, 3
jae 0x42a1eb
jmp 0x42a202
cmp ecx, 3
jb 0x42a202
cmp edi, edx
jb 0x42a202
add eax, 3
add ecx, 0xfffffffd
mov edi, dword [esi + 0x38]
mov edx, dword [esi + 8]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov ecx, dword [esi + 0x14]
jmp 0x42a26e
movaps xmm0, xmmword [0x45f260]
lea eax, [esi + 0xc0]
mov dword [esi + 0x24], ebx
mov dword [esi + 0x180], 8
mov dword [esi + 0x28], eax
lea eax, [esi + 0x18]
mov dword [esi + 0x18], 3
mov dword [esi + 0x1c], 0x461a84
mov dword [esi + 0x20], 0x16
movups xmmword [esi + 0xd8], xmm0
mov dword [esi + 0xe8], 0
push eax
lea eax, [esi + 0xd8]
push eax
lea eax, [esi + 0x60]
push eax
call fcn.0040a8c0
add esp, 0xc
cmp dword [esi + 0x60], 3
mov ebx, dword [ebp + 0xc]
mov edi, dword [esi + 0x38]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 8]
jne 0x42a2a3
mov eax, dword [esi + 4]
mov dword [esi + 0xac], eax
mov eax, dword [esi]
mov dword [esi + 0xb0], eax
mov dword [esi + 0xb4], edx
mov dword [esi + 0xa8], 3
mov eax, dword [esi + 0xa8]
cmp eax, 1
je 0x428996
jmp 0x42a334
mov eax, dword [esi + 4]
movsd xmm0, qword [esi + 0x70]
movsd xmm2, qword [esi + 0x60]
movsd xmm1, qword [esi + 0x68]
test eax, 0x7fffffff
movsd qword [esi + 0xb8], xmm0
movsd qword [esi + 0xb0], xmm1
movsd qword [esi + 0xa8], xmm2
je 0x42a2e4
push 1
push eax
push dword [esi]
call fcn.0040b8d0
mov ecx, dword [esi + 0x14]
add esp, 0xc
mov eax, dword [esi + 0xa8]
cmp eax, 1
je 0x428996
jmp 0x42a334
mov dword [esi + 0xac], ecx
mov ecx, dword [esi + 0xd4]
mov dword [esi + 0xb0], edx
mov dword [esi + 0xb4], edi
mov dword [esi + 0xa8], eax
mov edi, dword [esi + 0x38]
mov dword [esi + 0xbc], ecx
mov ecx, dword [esi + 0xd0]
mov dword [esi + 0xb8], ecx
mov ecx, dword [esi + 0x14]
cmp eax, 1
je 0x428996
movq xmm0, qword [esi + 0xb8]
mov eax, dword [ebp + 8]
movsd xmm2, qword [esi + 0xa8]
movsd xmm1, qword [esi + 0xb0]
movq qword [eax + 0x10], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov eax, dword [esi + 0x178]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edi
mov ecx, dword [ebx + 8]
movaps xmm0, xmmword [0x45f270]
cmp edi, 2
mov edx, 2
mov eax, 1
mov dword [esi + 8], edi
cmovb edx, edi
test edi, edi
mov dword [esi], ecx
je 0x42a3c1
xor edi, edi
nop word [eax + eax]
cmp byte [ecx + edi], 0x22
jne 0x42a3ca
inc edi
cmp edx, edi
jne 0x42a3b0
cmp dword [esi + 8], 1
jne 0x42a3df
xor ecx, ecx
xor edi, edi
jmp 0x42a46f
xor ecx, ecx
cmp dword [esi + 8], 1
je 0x42a3c3
cmp edi, edx
mov edi, 0
jb 0x42a46f
mov eax, dword [esi]
mov dword [esi + 0x180], 0
lea ecx, [eax + 2]
mov eax, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [ebx + 8], ecx
add eax, 0xfffffffe
mov dword [esi + 4], eax
mov dword [ebx + 0xc], eax
push 3
push 0x461a9a
push ebx
lea eax, [esi + 0xd8]
push eax
call fcn.00424ae0
add esp, 0x10
mov eax, dword [esi + 0xd8]
cmp eax, 3
jne 0x42a446
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0xc]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esi]
mov dword [esi + 0x64], ecx
mov dword [esi + 0x68], 2
mov dword [esi + 0x60], 3
jmp 0x42a4bd
mov ebx, dword [ebp + 0xc]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 4]
mov edi, dword [esi + 0xdc]
movsd xmm0, qword [esi + 0xe0]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
mov ecx, dword [esi + 0xe8]
mov edx, dword [esi + 0xec]
cmp eax, 1
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], edi
movlps qword [esi + 0x68], xmm0
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], edx
jne 0x42a4bd
mov eax, dword [esi]
mov edx, dword [esi + 8]
movaps xmm0, xmmword [0x45f270]
mov dword [ebx + 8], eax
xor eax, eax
test edx, edx
mov dword [ebx + 0xc], edx
setne cl
je 0x42a4e7
mov edi, dword [esi]
mov al, cl
xor ecx, ecx
nop word cs:[eax + eax]
nop
cmp byte [edi + ecx], 0x22
jne 0x42a4e3
inc ecx
cmp eax, ecx
jne 0x42a4b0
jmp 0x42a4f5
movsd xmm0, qword [esi + 0x60]
movsd xmm1, qword [esi + 0x68]
movsd xmm2, qword [esi + 0x70]
movsd qword [esi + 0x18], xmm0
movsd qword [esi + 0x28], xmm2
movsd qword [esi + 0x20], xmm1
mov ebx, dword [esi + 0x18]
jmp 0x42a5be
cmp ecx, eax
jae 0x42a4f5
xor eax, eax
xor edx, edx
mov edi, 1
jmp 0x42a58c
mov eax, dword [esi]
mov dword [esi + 0x180], 6
lea ecx, [eax + 1]
lea eax, [edx - 1]
mov dword [ebx + 8], ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 4], eax
mov dword [ebx + 0xc], eax
push 3
push 0x461a9a
push ebx
lea eax, [esi + 0xd8]
push eax
call fcn.00424ae0
add esp, 0x10
mov edi, dword [esi + 0xd8]
cmp edi, 3
jne 0x42a563
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0xc]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 4], 3
mov dword [eax + 0xc], ecx
mov ecx, dword [esi]
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], 1
mov dword [esi + 0x18], 3
lea ecx, [esi + 0x64]
jmp 0x42a5ac
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xc]
mov ebx, dword [esi + 4]
mov edx, dword [esi + 0xdc]
movsd xmm0, qword [esi + 0xe0]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], ebx
mov eax, dword [esi + 0xe8]
mov ebx, dword [esi + 0xec]
lea ecx, [esi + 0x64]
mov dword [esi + 0x18], edi
mov dword [esi + 0x1c], edx
movlps qword [esi + 0x20], xmm0
mov dword [esi + 0x28], eax
mov dword [esi + 4], edi
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x180], 0
mov dword [esi + 0x180], 0
call fcn.004019e0
mov ebx, dword [esi + 4]
cmp ebx, 3
je 0x42a5ea
cmp ebx, 1
jne 0x42a62a
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi]
mov dword [esi + 0x180], 0
mov dword [eax + 8], ecx
mov ecx, dword [esi + 8]
mov dword [eax + 0xc], ecx
lea ecx, [esi + 0x1c]
call fcn.004019e0
jmp 0x42a61c
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x180], 0
mov dword [esi], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 4], eax
lea eax, [esi + 0x48]
push eax
call fcn.0040edf0
add esp, 4
push dword [esi + 4]
push dword [esi]
lea eax, [esi + 0x48]
push eax
call fcn.00415990
add esp, 0xc
mov ecx, dword [esi + 0x48]
mov edi, dword [esi + 0x4c]
mov edx, dword [esi + 0x50]
jmp 0x42a0da
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x1c]
mov edi, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x28]
jmp 0x42a0a4
xor eax, eax
jmp 0x42a64a
mov eax, 1
mov dword [esi + 0x180], 5
push ebx
push eax
call fcn.0045d9b0
add esp, 8
jmp 0x42a69c
mov eax, 1
jmp 0x42a669
xor eax, eax
mov dword [esi + 0x180], 3
push edi
push eax
call fcn.0045d9b0
add esp, 8
jmp 0x42a69c
mov eax, 1
jmp 0x42a688
xor eax, eax
mov dword [esi + 0x180], 3
push ebx
push eax
call fcn.0045d9b0
add esp, 8
ud2