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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2c0
mov esi, esp
mov dword [esi + 0x2a8], ebp
mov dword [esi + 0x2ac], esp
mov dword [esi + 0x2b8], 0xffffffff
mov dword [esi + 0x2b4], 0x7045b0
mov dword [esi + 0x178], ecx
lea eax, [esi + 0x2b0]
mov dword [esi + 0x14], edx
mov ecx, dword fs:[0]
mov dword [esi + 0x2b0], ecx
mov dword fs:[0], eax
movsd xmm0, qword [edx + 0xdc]
mov ecx, dword [edx + 0xe9]
mov eax, dword [edx + 0xe4]
movsd xmm1, qword [edx + 0xb4]
movups xmm2, xmmword [edx]
mov bh, byte [edx + 0xf2]
movsd xmm3, qword [edx + 0x18]
mov bl, byte [edx + 0xf1]
movsd qword [esi + 0x240], xmm0
movsd xmm0, qword [edx + 0xd4]
mov dword [esi + 0x174], ecx
mov ecx, dword [edx + 0x50]
mov dword [esi + 0x248], eax
movzx eax, byte [edx + 0xe8]
movsd qword [esi + 0x218], xmm1
movaps xmmword [esi + 0x270], xmm2
movsd xmm2, qword [edx + 0x10]
movss xmm1, dword [edx + 0x4c]
cmp bh, 2
movsd qword [esi + 0x268], xmm3
movsd qword [esi + 0x238], xmm0
movsd xmm0, qword [edx + 0xcc]
mov dword [esi + 0x168], ecx
mov ecx, dword [edx + 0x58]
mov byte [esi + 0x3b], al
movzx eax, byte [edx + 0xf0]
movsd qword [esi + 0x260], xmm2
movsd qword [esi + 0x230], xmm0
movsd xmm0, qword [edx + 0xc4]
mov dword [esi + 0x16c], ecx
mov ecx, dword [edx + 0x54]
mov byte [esi + 7], al
mov eax, dword [ebp + 8]
movsd qword [esi + 0x228], xmm0
movsd xmm0, qword [edx + 0xbc]
mov dword [esi + 0x170], ecx
movzx ecx, word [edx + 0xed]
mov edi, dword [eax + 0x100]
movsd qword [esi + 0x220], xmm0
movsd xmm0, qword [edx + 0xac]
mov dword [esi + 0xc], ecx
movzx ecx, byte [edx + 0xef]
movsd qword [esi + 0x210], xmm0
movss xmm0, dword [edx + 0x48]
mov dword [esi + 0x3c], ecx
mov ecx, dword [edx + 0x5c]
movaps xmmword [esi + 0x110], xmm0
mov dword [esi + 0x10c], ecx
jne 0x5335bc
mov bh, byte [edi + 0x1ff]
cmp byte [esi + 7], 0
movss xmm0, dword [edi + 0x54]
movaps xmmword [esi + 0x120], xmm1
movaps xmmword [esi + 0x130], xmm0
je 0x5335da
xorps xmm0, xmm0
jmp 0x5335df
movss xmm0, dword [edi + 0x58]
mov ecx, dword [esi + 0x14]
movss dword [esi + 0x140], xmm0
mov eax, dword [ecx + 0x28]
movsd xmm0, qword [ecx + 0x20]
mov dword [esi + 0x160], eax
movaps xmmword [esi + 0x1a0], xmm0
movsd xmm0, qword [ecx + 0x2c]
mov eax, dword [ecx + 0x3c]
movaps xmmword [esi + 0x290], xmm0
movsd xmm0, qword [ecx + 0x34]
mov dword [esi + 0x164], eax
mov eax, dword [ecx + 0x40]
mov ecx, dword [ebp + 8]
movaps xmmword [esi + 0x280], xmm0
mov dword [esi + 0x15c], eax
call fcn.005558c0
movdqa xmm2, xmmword [esi + 0x270]
movaps xmm3, xmmword [esi + 0x130]
movd eax, xmm2
pshufd xmm1, xmm2, 0x55
movaps xmm2, xmmword [esi + 0x1a0]
addss xmm3, xmm3
movd ecx, xmm1
xor eax, 2
subss xmm0, xmm3
mov dword [esi + 0x190], eax
or eax, ecx
mov dword [esi + 0x180], ecx
je 0x53367f
movss xmm1, dword [edi + 0x8c]
addss xmm1, xmm2
subss xmm0, xmm1
mov eax, dword [esi + 0x210]
xor edx, edx
lea ecx, [eax - 1]
cmp eax, 2
cmovae edx, ecx
test edx, edx
je 0x533699
cmp edx, 1
jne 0x5336a1
lea ecx, [esi + 0x238]
jmp 0x5336ad
mov eax, dword [esi + 0x214]
mov ecx, dword [eax + 8]
add ecx, 0x2c
mov eax, dword [esi + 0x14]
cmp dword [ecx], 0
mov byte [esi + 0x1a], bh
movss dword [esi + 0x10], xmm3
mov dword [esi + 0x34], edx
lea eax, [eax + 0x70]
je 0x5336cb
addss xmm0, dword [0x726610]
movsd xmm3, qword [eax + 0x28]
movsd xmm2, qword [eax + 0x20]
mov ecx, dword [eax + 0x38]
movsd xmm1, qword [eax + 0x30]
mov edx, dword [ebp + 8]
lea edi, [esi + 0x1b8]
mov dword [esi + 0x1b8], 3
mov byte [esi + 9], 0
mov dword [esi + 0x2b8], 0
movsd qword [esi + 0xd8], xmm3
movsd qword [esi + 0xd0], xmm2
movsd xmm3, qword [eax + 0x18]
movsd xmm2, qword [eax + 0x10]
mov dword [esi + 0xe8], ecx
movsd qword [esi + 0xe0], xmm1
lea ecx, [esi + 0xb0]
movsd qword [esi + 0xc8], xmm3
movsd qword [esi + 0xc0], xmm2
movsd xmm3, qword [eax]
movsd xmm2, qword [eax + 8]
movzx eax, bl
movsd qword [esi + 0xb8], xmm2
movsd qword [esi + 0xb0], xmm3
push edi
push eax
call fcn.00558650
add esp, 8
mov ecx, eax
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x34]
mov dword [esi + 0x58], ecx
mov byte [esi + 0x5c], dl
mov edx, dword [ebp + 8]
mov dword [esi + 0x40], ecx
add eax, 0xac
test edi, edi
je 0x533784
cmp edi, 1
jne 0x53378c
lea ecx, [esi + 0x238]
jmp 0x533798
mov ecx, dword [esi + 0x214]
mov ecx, dword [ecx + 8]
add ecx, 0x2c
movsd xmm2, qword [eax + 0x28]
movsd xmm1, qword [eax + 0x20]
cmp dword [ecx], 0
mov ecx, dword [eax + 0x38]
movsd xmm0, qword [eax + 0x30]
movsd qword [esi + 0xd8], xmm2
movsd qword [esi + 0xd0], xmm1
movsd xmm2, qword [eax + 0x18]
movsd xmm1, qword [eax + 0x10]
mov dword [esi + 0xe8], ecx
movsd qword [esi + 0xe0], xmm0
movsd qword [esi + 0xc8], xmm2
movsd qword [esi + 0xc0], xmm1
movsd xmm2, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esi + 0xb8], xmm1
movsd qword [esi + 0xb0], xmm2
mov dword [esi + 0xec], edx
je 0x5338b5
movsd xmm0, qword [eax + 0x30]
mov ecx, dword [eax + 0x38]
movsd xmm1, qword [eax + 8]
mov dword [esi + 0x60], 3
mov byte [esi + 8], 1
mov dword [esi + 0x2b8], 1
movsd qword [esi + 0x1e8], xmm0
movsd xmm0, qword [eax + 0x28]
mov dword [esi + 0x1f0], ecx
movsd qword [esi + 0x1c0], xmm1
lea ecx, [esi + 0x1b8]
movsd qword [esi + 0x1e0], xmm0
movsd xmm0, qword [eax + 0x20]
movsd qword [esi + 0x1d8], xmm0
movsd xmm0, qword [eax + 0x18]
movsd qword [esi + 0x1d0], xmm0
movsd xmm0, qword [eax + 0x10]
movsd qword [esi + 0x1c8], xmm0
movsd xmm0, qword [eax]
lea eax, [esi + 0x60]
movsd qword [esi + 0x1b8], xmm0
movss xmm0, dword [0x7258a0]
push eax
push 0
call fcn.00558650
add esp, 8
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
and dl, 1
mov dword [esi + 0x154], eax
mov byte [esi + 0x158], dl
jmp 0x5338d7
lea ecx, [esi + 0xb0]
mov byte [esi + 0x158], 2
mov byte [esi + 8], 1
mov dword [esi + 0x2b8], 1
call fcn.005266f0
mov dl, 2
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x190]
movss xmm5, dword [esi + 0x10]
mov edi, dword [ebp + 8]
movsd xmm1, qword [ecx + 0x18]
movsd xmm0, qword [ecx + 0x20]
or eax, dword [esi + 0x180]
subps xmm0, xmm1
je 0x533940
mov eax, dword [edi + 0x100]
movaps xmm2, xmmword [esi + 0x1a0]
movss xmm1, dword [eax + 0x8c]
addss xmm1, xmm2
shufps xmm2, xmm2, 0x55
addss xmm1, xmm0
shufps xmm0, xmm0, 0x55
movaps xmm3, xmm0
cmpunordss xmm3, xmm0
movaps xmm4, xmm3
andps xmm4, xmm2
maxss xmm2, xmm0
andnps xmm3, xmm2
orps xmm3, xmm4
unpcklps xmm1, xmm3
movaps xmm0, xmm1
movaps xmm1, xmm0
cmp dl, 2
shufps xmm1, xmm0, 0x55
je 0x53398d
mov ecx, dword [esi + 0x34]
mov eax, dword [edi + 0x100]
movss xmm2, dword [ecx + 0x20]
movss xmm3, dword [ecx + 0x24]
subss xmm2, dword [ecx + 0x18]
subss xmm3, dword [ecx + 0x1c]
addss xmm2, dword [eax + 0x3c]
addss xmm0, xmm2
movaps xmm2, xmm1
cmpunordss xmm2, xmm1
movaps xmm4, xmm2
andps xmm4, xmm3
maxss xmm3, xmm1
andnps xmm2, xmm3
orps xmm2, xmm4
movaps xmm1, xmm2
movss xmm2, dword [esi + 0x140]
cmp byte [esi + 7], 0
movaps xmm4, xmmword [esi + 0x120]
addss xmm5, xmm0
mov byte [esi + 7], dl
addss xmm2, xmm2
addss xmm2, xmm1
jne 0x5339d7
mov eax, dword [edi + 0x100]
movaps xmm1, xmm2
cmpunordss xmm1, xmm2
movaps xmm3, xmm1
movss xmm0, dword [eax + 0x74]
andps xmm3, xmm0
maxss xmm0, xmm2
andnps xmm1, xmm0
orps xmm1, xmm3
movaps xmm2, xmm1
movaps xmm3, xmmword [esi + 0x110]
movaps xmm0, xmm5
lea ecx, [esi + 0xb0]
mov edx, edi
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov dword [esi + 0x2b8], 2
cmpunordss xmm0, xmm5
movaps xmm1, xmm0
andps xmm1, xmm3
maxss xmm3, xmm5
andnps xmm0, xmm3
orps xmm0, xmm1
movaps xmm1, xmm2
cmpunordss xmm1, xmm2
movaps xmm3, xmm1
andps xmm3, xmm4
maxss xmm4, xmm2
andnps xmm1, xmm4
orps xmm1, xmm3
call fcn.00530440
mov eax, dword [esi + 0x3c]
mov edi, dword [esi + 0xc]
movsd xmm0, qword [esi + 0xc0]
mov ecx, dword [ebp + 8]
shl eax, 0x10
movsd qword [esi + 0x1c0], xmm0
movsd xmm0, qword [esi + 0xb8]
movsd xmm1, qword [ecx + 0xd8]
movzx ebx, byte [ecx + 0x108]
lea edx, [ecx + 0xe0]
or edi, eax
mov eax, dword [esi + 0xb0]
mov dword [esi + 0x3c], edx
movsd qword [esi + 0x1b8], xmm0
movsd xmm0, qword [ecx + 0xd0]
movsd qword [esi + 0x68], xmm1
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0xb4]
movsd qword [esi + 0x60], xmm0
mov dword [esi + 0x110], eax
mov eax, dword [ecx + 0x100]
movss xmm0, dword [eax + 0x3c]
movss xmm1, dword [eax + 0x40]
mov eax, dword [ecx + 0xc0]
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0xc4]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0xc8]
lea ecx, [esi + 0xb0]
push ebx
push edi
lea edi, [esi + 0x1b8]
push edi
push dword [esi + 0x110]
push dword [esi + 0x120]
push eax
push dword [esi + 0xc]
push dword [esi + 0x10]
lea eax, [esi + 0x60]
push eax
call fcn.00519df0
add esp, 0x24
movups xmm0, xmmword [esi + 0xc8]
movaps xmmword [esi + 0x120], xmm0
push 0x58
lea eax, [esi + 0xb0]
push eax
lea eax, [esi + 0x1b8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [esi + 0x1f6], 0
je 0x533bc3
mov eax, dword [esi + 0x40]
lea ecx, [esi + 0x20]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x20]
mov dword [esi + 0x20], 1
mov dword [esi + 0x24], 0
mov dword [esi + 0xcc], 0
mov dword [esi + 0xc0], 0x20
mov byte [esi + 0xd0], 3
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb8], 0
mov dword [esi + 0xc4], ecx
mov dword [esi + 0x28], 0
mov dword [esi + 0xc8], 0x741520
mov dword [esi + 0x2b8], 0xb
lea ecx, [esi + 0xb0]
push eax
call fcn.004277d0
add esp, 4
test al, al
jne 0x5349c3
movsd xmm0, qword [esi + 0x20]
mov eax, dword [esi + 0x28]
xor edi, edi
xor ebx, ebx
jmp 0x533e71
cmp byte [esi + 0x1fb], 0
mov eax, dword [esi + 0x40]
je 0x533c68
mov eax, dword [eax + 8]
lea ecx, [esi + 0x20]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x20]
mov dword [esi + 0x20], 1
mov dword [esi + 0x24], 0
mov dword [esi + 0xcc], 0
mov dword [esi + 0xc0], 0x20
mov byte [esi + 0xd0], 3
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb8], 0
mov dword [esi + 0xc4], ecx
mov dword [esi + 0x28], 0
mov dword [esi + 0xc8], 0x741520
mov dword [esi + 0x2b8], 0xa
lea ecx, [esi + 0xb0]
push eax
call fcn.004277d0
add esp, 4
test al, al
jne 0x5349e5
movsd xmm0, qword [esi + 0x20]
mov eax, dword [esi + 0x28]
xor ebx, ebx
mov edi, 1
jmp 0x533e71
cmp byte [esi + 0x200], 0
je 0x533d0a
mov eax, dword [eax + 8]
lea ecx, [esi + 0x20]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x20]
mov dword [esi + 0x20], 1
mov dword [esi + 0x24], 0
mov dword [esi + 0xcc], 0
mov dword [esi + 0xc0], 0x20
mov byte [esi + 0xd0], 3
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb8], 0
mov dword [esi + 0xc4], ecx
mov dword [esi + 0x28], 0
mov dword [esi + 0xc8], 0x741520
mov dword [esi + 0x2b8], 9
lea ecx, [esi + 0xb0]
push eax
call fcn.004277d0
add esp, 4
test al, al
jne 0x534a07
movsd xmm0, qword [esi + 0x20]
mov eax, dword [esi + 0x28]
xor ebx, ebx
mov edi, 2
jmp 0x533e71
mov ebx, dword [esi + 0x1ec]
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
mov dword [esi + 0x40], ecx
test al, 8
jne 0x533d2a
mov edx, eax
add edx, 0x10
jb 0x533d2a
lock cmpxchg dword [ecx], edx
je 0x533d4d
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov dword [esi + 0x2b8], 3
mov dword [esi + 0x110], ebx
call fcn.00719890
mov ebx, dword [esi + 0x110]
mov edx, dword [ebx + 0x40]
mov eax, dword [esi + 0x1cc]
mov edi, dword [ebx + 0x4c]
mov ecx, dword [esi + 0x1c8]
or edx, dword [ebx + 0x44]
mov dword [esi + 0x10], eax
mov dword [esi + 0x110], ecx
setne dl
xor edi, eax
mov eax, ebx
mov ebx, dword [ebx + 0x48]
xor ebx, ecx
or ebx, edi
sete dh
xor ebx, ebx
test dl, dh
jne 0x533da3
mov edx, dword [eax + 0x34]
or edx, dword [eax + 0x30]
mov edx, dword [esi + 0x40]
je 0x533da6
mov ecx, dword [esi + 0x110]
mov edi, dword [esi + 0x10]
xor ecx, dword [eax + 0x38]
xor edi, dword [eax + 0x3c]
or edi, ecx
sete bl
jmp 0x533da6
mov edx, dword [esi + 0x40]
mov eax, 0xfffffff0
lock xadd dword [edx], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x533dd6
mov ecx, edx
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov dword [esi + 0x2b8], 3
mov dword [esi + 0x40], ebx
call fcn.00719c10
mov ebx, dword [esi + 0x40]
test bl, bl
je 0x5343b2
mov eax, dword [esi + 0x58]
lea ecx, [esi + 0x20]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x20]
mov dword [esi + 0x20], 1
mov dword [esi + 0x24], 0
mov dword [esi + 0xcc], 0
mov dword [esi + 0xc0], 0x20
mov byte [esi + 0xd0], 3
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb8], 0
mov dword [esi + 0xc4], ecx
mov dword [esi + 0x28], 0
mov dword [esi + 0xc8], 0x741520
mov dword [esi + 0x2b8], 8
lea ecx, [esi + 0xb0]
push eax
call fcn.004277d0
add esp, 4
test al, al
jne 0x534a29
movsd xmm0, qword [esi + 0x20]
mov eax, dword [esi + 0x28]
xor ebx, ebx
mov edi, 3
movsd qword [esi + 0x7c], xmm0
mov dword [esi + 0x84], eax
mov byte [esi + 0xa2], 3
mov word [esi + 0xa0], 0x201
mov dword [esi + 0x88], 0
mov dword [esi + 0x94], 0
mov dword [esi + 0x64], 0
mov dword [esi + 0x60], 0
mov byte [esi + 0x78], 2
mov dword [esi + 0x2b8], 3
lea eax, [esi + 0xb8]
push 0x48
lea ecx, [esi + 0x60]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 0x1ec]
lea edx, [esi + 0xb0]
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xb0], edi
mov byte [esi + 5], 1
mov byte [esi + 6], 1
call fcn.005109d0
mov edi, dword [ebp + 8]
cmp byte [edi + 0xe4], 0
je 0x533f9e
cmp dword [edi + 0xe5], 0
jne 0x533f9e
mov al, 1
mov bl, 1
mov dword [esi + 0x14], 0
mov dword [esi + 0x40], eax
push 0x58
lea eax, [esi + 0x1b8]
push eax
push dword [esi + 0x178]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [esi + 0x40], 0
movzx eax, byte [esi + 7]
je 0x533f66
cmp al, 2
je 0x533f66
mov eax, dword [esi + 0x34]
lock dec dword [eax]
jne 0x533f66
mov ecx, dword [esi + 0x154]
mov byte [esi + 8], bl
mov dword [esi + 0x2b8], 1
call fcn.00563190
cmp byte [esi + 0x14], 0
jne 0x533f8a
mov eax, dword [esi + 0x58]
lock dec dword [eax]
jne 0x533f8a
mov ecx, dword [esi + 0x58]
mov byte [esi + 9], 1
mov dword [esi + 0x2b8], 0
call fcn.00563190
mov eax, dword [esi + 0x2b0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movss xmm0, dword [edi + 0xd8]
movaps xmm1, xmmword [esi + 0x120]
ucomiss xmm0, xmm1
jb 0x533f13
movaps xmm2, xmm1
unpckhpd xmm2, xmm1
ucomiss xmm2, dword [edi + 0xd0]
jb 0x533f13
movss xmm0, dword [edi + 0xdc]
movaps xmm5, xmm1
shufps xmm5, xmm1, 0x55
ucomiss xmm0, xmm5
jb 0x533f13
shufps xmm1, xmm1, 0xff
ucomiss xmm1, dword [edi + 0xd4]
movaps xmmword [esi + 0x110], xmm1
jb 0x533f13
movzx eax, byte [esi + 0x1f0]
mov ebx, dword [edi + 0x100]
movaps xmmword [esi + 0x250], xmm2
movaps xmmword [esi + 0x40], xmm5
or al, byte [esi + 0x1f1]
je 0x534073
cmp byte [esi + 0x207], 0
movaps xmm4, xmmword [esi + 0x130]
movzx ecx, byte [esi + 0x1a]
jne 0x53406b
lea ecx, [esi + 0x1b8]
mov dword [esi + 0xc], ebx
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov dword [esi + 0x2b8], 3
call fcn.00530ba0
movaps xmm4, xmmword [esi + 0x130]
mov edi, dword [ebp + 8]
movzx ecx, byte [esi + 0x1a]
movaps xmm5, xmmword [esi + 0x40]
mov ebx, dword [esi + 0xc]
test al, al
je 0x5343fb
add ebx, 0x168
jmp 0x534084
movaps xmm4, xmmword [esi + 0x130]
movzx ecx, byte [esi + 0x1a]
add ebx, 0xe4
lea eax, [edi + 0xc0]
test cl, cl
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], eax
je 0x534238
mov ecx, dword [esi + 0x14]
mov edx, ebx
mov eax, dword [ebx + 0x24]
mov ebx, dword [ebx + 0x10]
add ecx, 0x60
cmp dword [esi + 0x10c], 0
mov dword [esi + 0x14], eax
mov eax, edi
mov edi, dword [edx + 0x14]
cmove ecx, edx
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movzx ecx, byte [eax + 0xe4]
mov eax, dword [eax + 0xe5]
movsd qword [esi + 0x28], xmm1
movsd qword [esi + 0x20], xmm0
test cl, cl
movss xmm0, dword [edx + 0x28]
je 0x53410d
test eax, eax
jne 0x53410d
mov eax, dword [esi + 0x3c]
mov edx, dword [esi + 0x10]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov dword [esi + 0x2b8], 3
mov ecx, dword [eax]
push edx
call fcn.0050fc60
add esp, 4
jmp 0x534227
cmp dword [esi + 0x168], 0
mov edx, dword [esi + 0x170]
movaps xmm2, xmmword [esi + 0x120]
shufps xmm0, xmm0, 0
mov dword [esi + 0x2b8], 7
cmove edx, ebx
mov ebx, dword [esi + 0x16c]
movaps xmm1, xmm2
subps xmm1, xmm0
addps xmm0, xmm2
movsd xmm0, xmm1
movsd xmm1, qword [esi + 0x28]
movupd xmmword [esi + 0x60], xmm0
movsd xmm0, qword [esi + 0x20]
cmove ebx, edi
test byte [esi + 0x3b], 1
mov edi, dword [esi + 0x174]
movsd qword [esi + 0x78], xmm1
movsd qword [esi + 0x70], xmm0
mov dword [esi + 0x84], ebx
mov dword [esi + 0x80], edx
cmove edi, dword [esi + 0x14]
test cl, cl
mov dword [esi + 0x88], edi
mov byte [esi + 0x8c], 7
je 0x5341b0
lea ecx, [esi + 0x17c]
lea edx, [esi + 0xb0]
mov dword [esi + 0x17c], eax
mov byte [esi + 0x1c], 1
mov dword [esi + 0xb0], ecx
lea ecx, [esi + 0x60]
call fcn.00549360
movsd xmm1, qword [esi + 0x80]
movsd xmm2, qword [esi + 0x78]
movsd xmm0, qword [esi + 0x88]
mov eax, dword [esi + 0x10]
lea edx, [esi + 0xb0]
mov byte [esi + 0x1c], 0
movsd qword [esi + 0xd0], xmm1
movsd xmm1, qword [esi + 0x70]
movsd qword [esi + 0xc8], xmm2
movsd xmm2, qword [esi + 0x60]
movsd qword [esi + 0xd8], xmm0
movsd qword [esi + 0xc0], xmm1
movsd xmm1, qword [esi + 0x68]
movsd qword [esi + 0xb0], xmm2
movsd qword [esi + 0xb8], xmm1
mov dword [esi + 0xe0], eax
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax]
call fcn.005102a0
movaps xmm4, xmmword [esi + 0x130]
mov edi, dword [ebp + 8]
movaps xmm5, xmmword [esi + 0x40]
mov ebx, dword [esi + 0xc]
mov eax, dword [esi + 0x190]
or eax, dword [esi + 0x180]
jne 0x5342ec
mov ecx, dword [esi + 0x58]
movzx edx, byte [edi + 0xbd]
mov eax, dword [edi + 0xbc]
movzx ebx, byte [edi + 0xbb]
movaps xmm0, xmmword [esi + 0x120]
movaps xmm3, xmmword [esi + 0x250]
movss xmm1, dword [ecx + 0x20]
movss xmm2, dword [ecx + 0x24]
cmp dl, 2
mov edi, eax
addss xmm0, xmm4
subss xmm3, xmm4
cmovae edi, ebx
subss xmm1, dword [ecx + 0x18]
subss xmm2, dword [ecx + 0x1c]
ucomiss xmm1, dword [0x7258a0]
jb 0x5342b0
movaps xmm4, xmm3
subss xmm4, xmm0
ucomiss xmm4, dword [0x7258a0]
jae 0x534348
cmp dl, 2
movzx edx, bl
movzx eax, al
cmovb eax, edx
test al, al
je 0x534348
mov ebx, dword [esi + 0xc]
movzx eax, al
cmp eax, 1
jne 0x534415
ucomiss xmm1, dword [0x7258a0]
mov eax, edi
jb 0x534441
movss xmm0, dword [0x725908]
jmp 0x53434d
mov ecx, dword [esi + 0x58]
movaps xmm1, xmm5
movss xmm2, dword [0x725640]
mov eax, dword [edi + 0x100]
addss xmm1, dword [esi + 0x110]
movss xmm0, dword [ecx + 0x24]
mulss xmm1, xmm2
subss xmm0, dword [ecx + 0x1c]
mulss xmm0, xmm2
subss xmm1, xmm0
movaps xmm0, xmm4
addss xmm0, dword [esi + 0x120]
addss xmm0, dword [esi + 0x1a0]
addss xmm0, dword [eax + 0x8c]
mov dword [esi + 0x2b8], 3
jmp 0x534480
mov ebx, dword [esi + 0xc]
mov eax, edi
movss xmm4, dword [esi + 0x140]
movaps xmm3, xmmword [esi + 0x110]
ucomiss xmm2, dword [0x7258a0]
movaps xmm1, xmm5
addss xmm1, xmm4
subss xmm3, xmm4
jb 0x534384
movaps xmm4, xmm3
subss xmm4, xmm1
ucomiss xmm4, dword [0x7258a0]
jae 0x534480
test al, al
je 0x534480
movzx eax, al
cmp eax, 1
jne 0x534423
ucomiss xmm2, dword [0x7258a0]
jb 0x53445e
movss xmm1, dword [0x725908]
jmp 0x534480
cmp byte [esi + 0x208], 0
je 0x533ef6
mov eax, dword [esi + 0x58]
mov edx, 3
mov ecx, dword [eax + 8]
mov edi, dword [ecx + 0x20]
mov eax, dword [ecx + 0x18]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov dword [esi + 0x2b8], 3
lea ecx, [esi + 0x60]
push edi
push eax
call fcn.0055ea60
add esp, 8
xor ebx, ebx
mov edi, 5
jmp 0x533ebc
movzx eax, byte [esi + 0x1f4]
or al, byte [esi + 0x1f5]
jne 0x534436
add ebx, 0x110
jmp 0x534084
subss xmm3, xmm1
mov eax, edi
movaps xmm0, xmm3
jmp 0x53434d
subss xmm3, xmm2
mov dword [esi + 0x2b8], 3
movaps xmm1, xmm3
jmp 0x534480
add ebx, 0x13c
jmp 0x534084
movss xmm4, dword [0x725640]
addss xmm0, xmm3
mulss xmm0, xmm4
mulss xmm1, xmm4
subss xmm0, xmm1
jmp 0x53434d
movss xmm4, dword [0x725640]
addss xmm1, xmm3
mov dword [esi + 0x2b8], 3
mulss xmm1, xmm4
mulss xmm2, xmm4
subss xmm1, xmm2
mov eax, dword [ebx + 0x1c]
movzx edx, byte [esi + 0x5c]
mov byte [esi + 5], 1
mov byte [esi + 6], 0
mov dword [esi + 0x2b8], 3
push eax
push dword [esi + 0x10]
call fcn.00558e60
add esp, 8
mov al, 1
movaps xmm2, xmmword [esi + 0x130]
mov edx, dword [ebp + 8]
movaps xmm3, xmmword [esi + 0x40]
mov cl, 1
mov dword [esi + 0x14], eax
movzx eax, byte [esi + 7]
cmp al, 2
je 0x53465f
mov ecx, dword [esi + 0x34]
movss xmm1, dword [ecx + 0x20]
movss xmm4, dword [ecx + 0x24]
subss xmm1, dword [ecx + 0x18]
subss xmm4, dword [ecx + 0x1c]
mov dword [esi + 0xb0], ecx
mov byte [esi + 0xb4], al
mov eax, dword [edx + 0x100]
test byte [eax + 0x1f8], 1
lea ecx, [eax + 0x1f9]
lea edx, [eax + 0x100]
cmove ecx, edx
mov ecx, dword [ecx]
mov edx, ecx
mov edi, ecx
shr edx, 0x10
shr edi, 0x18
je 0x5345a6
mov eax, dword [eax + 0x108]
movaps xmm0, xmmword [esi + 0x250]
mov dword [esi + 0x140], edi
mov ebx, eax
shr ebx, 0x10
mov dword [esi + 0xc], ebx
mov ebx, edi
cmp bl, 0xaa
jae 0x5345b7
mov dword [esi + 0x3c], edx
mov edi, eax
mov ax, 0x1fe
xor edx, edx
mov ebx, dword [esi + 0xc]
div word [esi + 0x140]
test al, al
mov word [esi + 0x1a], ax
je 0x534999
mov edx, edi
shr cl, 1
movzx eax, dl
movzx edx, dh
mov word [esi + 0x10c], dx
mov edx, ebx
movzx ebx, word [esi + 0x1a]
movzx edi, dl
div bl
mov dh, al
movzx eax, word [esi + 0x10c]
add dh, cl
shr ch, 1
div bl
mov dl, al
mov eax, edi
div bl
add dl, ch
mov ecx, dword [esi + 0x3c]
mov ebx, dword [esi + 0x140]
shr cl, 1
shr bl, 1
add al, cl
mov cl, dh
mov ch, dl
mov edx, eax
mov eax, ebx
jmp 0x5345d8
movaps xmm0, xmmword [esi + 0x250]
shr cl, 1
shr ch, 1
shr dl, 1
xor eax, eax
jmp 0x5345d8
mov ebx, dword [esi + 0xc]
shr cl, 1
shr al, 1
shr dl, 1
add al, cl
shr ch, 1
shr ah, 1
add ah, ch
mov ecx, eax
mov ch, ah
mov eax, dword [esi + 0x140]
shr bl, 1
add bl, dl
mov edx, ebx
movzx eax, al
subss xmm0, xmm2
movzx edx, dl
mov byte [esi + 0x1d], 0
mov dword [esi + 0x2b8], 4
shl eax, 8
subss xmm0, xmm1
movaps xmm1, xmm3
movss xmm3, dword [0x725640]
or eax, edx
movzx edx, cl
movzx ecx, ch
addss xmm1, dword [esi + 0x110]
shl ecx, 8
or ecx, edx
xor edx, edx
cmp byte [esi + 7], 0
movd xmm2, ecx
mulss xmm4, xmm3
mulss xmm1, xmm3
pinsrw xmm2, eax, 1
subss xmm1, xmm4
setne dl
sub esp, 8
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x34]
movd dword [esp + 4], xmm2
mov dword [esp], eax
call fcn.00558e60
add esp, 8
movaps xmm2, xmmword [esi + 0x130]
mov edx, dword [ebp + 8]
movaps xmm3, xmmword [esi + 0x40]
xor ecx, ecx
mov eax, dword [esi + 0x190]
mov dword [esi + 0x40], ecx
or eax, dword [esi + 0x180]
je 0x534992
cmp byte [edx + 0xe4], 0
je 0x53468a
cmp dword [edx + 0xe5], 0
je 0x534992
addss xmm2, dword [esi + 0x120]
movss xmm0, dword [edx + 0xd8]
xor ebx, ebx
ucomiss xmm0, xmm2
jb 0x533f21
movaps xmm0, xmmword [esi + 0x1a0]
movaps xmm5, xmm2
addss xmm5, xmm0
ucomiss xmm5, dword [edx + 0xd0]
jb 0x533f21
addss xmm3, dword [esi + 0x110]
movss xmm4, dword [0x725b30]
movaps xmm6, xmm0
shufps xmm6, xmm0, 0x55
movss xmm0, dword [edx + 0xdc]
mulss xmm3, dword [0x725640]
addss xmm3, xmm4
mulss xmm4, xmm6
addss xmm4, xmm3
ucomiss xmm0, xmm4
jb 0x533f21
addss xmm6, xmm4
ucomiss xmm6, dword [edx + 0xd4]
jb 0x533f21
mov edi, dword [esi + 0x164]
movaps xmmword [esi + 0x130], xmm2
movaps xmmword [esi + 0x180], xmm4
test edi, edi
je 0x534800
movaps xmm0, xmmword [0x726030]
movss dword [esi + 0xb0], xmm2
movss dword [esi + 0xb4], xmm4
movss dword [esi + 0xb8], xmm5
movaps xmmword [esi + 0x190], xmm5
movaps xmmword [esi + 0x140], xmm6
movss dword [esi + 0xbc], xmm6
mov byte [esi + 0x1e], 1
mov dword [esi + 0x2b8], 5
lea eax, [esi + 0x20]
lea ecx, [esi + 0x60]
lea edx, [esi + 0xb0]
movaps xmmword [esi + 0x70], xmm0
xorps xmm0, xmm0
mov dword [esi + 0x80], 0
mov dword [esi + 0x84], 0
movaps xmmword [esi + 0x60], xmm0
movaps xmmword [esi + 0x20], xmm0
push edi
push eax
call fcn.005b3850
add esp, 8
movsd xmm0, qword [esi + 0x80]
movaps xmm2, xmmword [esi + 0x60]
movaps xmm1, xmmword [esi + 0x70]
mov ecx, dword [esi + 0x10]
lea edx, [esi + 0xb0]
mov byte [esi + 0x1e], 0
movsd qword [esi + 0xd0], xmm0
movaps xmmword [esi + 0xc0], xmm1
movaps xmmword [esi + 0xb0], xmm2
mov byte [esi + 0xdc], 9
call fcn.005606f0
movaps xmm2, xmmword [esi + 0x130]
movaps xmm4, xmmword [esi + 0x180]
movaps xmm5, xmmword [esi + 0x190]
movaps xmm6, xmmword [esi + 0x140]
movsd xmm3, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x268]
movaps xmm0, xmmword [esi + 0x270]
mov dword [esi + 0x70], 4
mov dword [esi + 0x74], 0
mov dword [esi + 0x78], 0
mov dword [esi + 0x7c], 4
mov dword [esi + 0x80], 0
mov dword [esi + 0x84], 0
movss dword [esi + 0xb0], xmm2
movss dword [esi + 0xb4], xmm4
movss dword [esi + 0xb8], xmm5
movss dword [esi + 0xbc], xmm6
mov byte [esi + 0x1f], 1
mov dword [esi + 0x2b8], 6
lea eax, [esi + 0x20]
lea ecx, [esi + 0x60]
lea edx, [esi + 0xb0]
movups xmmword [esi + 0x60], xmm0
movsd qword [esi + 0x28], xmm1
movsd qword [esi + 0x20], xmm3
push dword [esi + 0x15c]
push eax
call fcn.005b3850
add esp, 8
cmp dword [esi + 0x160], 0
movaps xmm5, xmmword [esi + 0x130]
movaps xmm6, xmmword [esi + 0x290]
je 0x53492b
mov ecx, dword [esi + 0x84]
test ecx, ecx
je 0x53492b
movaps xmm0, xmmword [esi + 0x280]
unpcklps xmm5, xmmword [esi + 0x180]
mov eax, dword [esi + 0x7c]
lea ecx, [ecx + ecx*4]
movaps xmm1, xmm6
shufps xmm1, xmm6, 0xe1
mulps xmm0, xmmword [esi + 0x1a0]
lea ecx, [eax + ecx*4]
addps xmm5, xmm0
movaps xmm0, xmm5
shufps xmm0, xmm5, 0x55
movss xmm3, dword [eax]
movss xmm2, dword [eax + 4]
subss xmm3, xmm5
subss xmm2, xmm0
shufps xmm3, xmm3, 0
shufps xmm2, xmm2, 0
mulps xmm3, xmm1
mulps xmm2, xmm6
movaps xmm4, xmm3
subps xmm4, xmm2
addps xmm2, xmm3
shufps xmm2, xmm4, 1
shufps xmm2, xmm4, 0xe2
addps xmm2, xmm5
movlps qword [eax], xmm2
add eax, 0x14
cmp eax, ecx
jne 0x5348ee
movsd xmm2, qword [esi + 0x78]
movsd xmm1, qword [esi + 0x70]
movsd xmm0, qword [esi + 0x80]
mov ecx, dword [esi + 0x10]
lea edx, [esi + 0xb0]
mov byte [esi + 0x1f], 0
mov dword [esi + 0x2b8], 6
movsd qword [esi + 0xc8], xmm2
movsd qword [esi + 0xc0], xmm1
movsd xmm2, qword [esi + 0x60]
movsd xmm1, qword [esi + 0x68]
movsd qword [esi + 0xd0], xmm0
movsd qword [esi + 0xb8], xmm1
movsd qword [esi + 0xb0], xmm2
mov byte [esi + 0xdc], 9
call fcn.005606f0
xor ebx, ebx
jmp 0x533f21
mov byte [esi + 0x1d], 1
mov dword [esi + 0x2b8], 4
mov ecx, 0x739730
mov edx, 0x19
push 0x73974c
call fcn.0070a0f0
add esp, 4
jmp 0x534a49
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_alloc_src_string.rs
mov edx, 0x37
push 0x8f6af8
push 0x741538
lea eax, [esi + 0x60]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x534a49
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_alloc_src_string.rs
mov edx, 0x37
push 0x8f6af8
push 0x741538
lea eax, [esi + 0x60]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x534a49
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_alloc_src_string.rs
mov edx, 0x37
push 0x8f6af8
push 0x741538
lea eax, [esi + 0x60]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x534a49
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_alloc_src_string.rs
mov edx, 0x37
push 0x8f6af8
push 0x741538
lea eax, [esi + 0x60]
push eax
call fcn.0070a360
add esp, 0xc
ud2