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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa0
mov edi, dword [esp + 0xcc]
mov eax, dword [0x102a2000]
xor eax, esp
mov dword [esp + 0x9c], eax
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov edx, dword [ecx + 0x2c]
movsd xmm0, qword [edx + eax]
movsd qword [esp + 0x90], xmm0
mov edx, dword [edx + eax + 8]
mov dword [esp + 0x98], edx
mov edx, dword [ecx + 0x34]
mov esi, dword [edx + eax + 8]
mov dword [esp + 0x8c], esi
movsd xmm0, qword [edx + eax]
movsd qword [esp + 0x84], xmm0
mov edx, dword [ecx + 0x3c]
mov esi, dword [edx + eax + 8]
mov dword [esp + 0x80], esi
movsd xmm0, qword [edx + eax]
movsd qword [esp + 0x78], xmm0
mov edx, dword [eax + 0xe4]
mov dword [esp + 0x28], edx
mov edx, dword [ecx + 0x28]
mov esi, dword [ecx + 0x1a0]
mov edx, dword [edx + eax]
mov dword [esp + 0x20], edx
movss xmm0, dword [esi + eax]
movss dword [esp + 0x24], xmm0
mov ecx, dword [ecx + 0x1e0]
movss xmm0, dword [ecx + eax]
movss dword [esp + 0x2c], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
cmp dword [edx + 0x6354], 2
jl 0x10035123
mov eax, dword [esp + 0xb4]
bswap eax
mov esi, dword [esp + 0xb8]
add esi, eax
mov ecx, dword [esp + 0xbc]
ror esi, cl
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov eax, dword [esp + 8]
bswap eax
mov ecx, dword [esp + 4]
mov edx, dword [esp]
add ecx, eax
je 0x10034adf
movss xmm2, dword [esi + 0x6378]
movss xmm0, dword [esi + 0x637c]
subss xmm2, dword [esi + 0x6384]
subss xmm0, dword [esi + 0x6388]
mulss xmm2, xmm2
xorps xmm1, xmm1
addss xmm1, xmm2
mov dword [esp + 0x6c], 0x1e5b771e
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x188a530
mov eax, dword [esp + 0x6c]
rol eax, 0x13
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
mulss xmm0, xmm0
mov dword [esp + 0x6c], 0xfc439ee5
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x1a61c5c8
mov eax, dword [esp + 0x6c]
rol eax, 2
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
cvtsi2ss xmm3, eax
addss xmm0, xmm1
divss xmm2, xmm3
ucomiss xmm0, xmm2
jbe 0x10034adf
mov byte [esi + 0x6359], 1
mov eax, dword [esp + 8]
bswap eax
mov ecx, dword [esp + 4]
mov edx, dword [esp]
add ecx, eax
je 0x10034b0b
mov eax, dword [esp + 8]
bswap eax
mov edx, dword [esp + 4]
add edx, eax
mov ecx, dword [esp]
ror edx, cl
cmp byte [edx + 0x19], 0
je 0x10034b92
mov eax, dword [esp + 8]
bswap eax
mov ecx, dword [esp + 4]
mov edx, dword [esp]
add ecx, eax
jne 0x10035123
test byte [esi + 0x6374], 1
je 0x10035123
mov ebp, dword [esi + 0x6340]
test ebp, ebp
je 0x10034d61
mov eax, dword [edi + 0x20]
mov edx, dword [0x102a22ac]
mov ecx, dword [edx + 0x1e8]
movzx ebx, byte [ecx + eax]
mov ecx, dword [edx + 4]
mov eax, dword [edx + 0x108]
mov edx, dword [ecx]
movzx eax, word [eax + ebp]
push eax
call dword [edx + 8]
test eax, eax
je 0x10034d6b
mov eax, dword [0x102a22ac]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0x108]
mov edx, dword [ecx]
movzx eax, word [eax + ebp]
push eax
call dword [edx + 8]
movzx ecx, bl
movss xmm0, dword [eax + ecx*4 + 0x12c]
jmp 0x10034d73
mov eax, dword [esp + 8]
bswap eax
mov ecx, dword [esp + 4]
mov edx, dword [esp]
add ecx, eax
je 0x10034f0d
movss xmm0, dword [esi + 0x6360]
mov eax, dword [esp + 8]
bswap eax
mov edx, dword [esp + 4]
add edx, eax
mov ecx, dword [esp]
ror edx, cl
subss xmm0, dword [edx + 0x394]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm1, dword [edx + 0x20]
mov dword [esp + 0x6c], 0xd05ae800
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x188a530
mov eax, dword [esp + 0x6c]
rol eax, 0x13
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
unpcklps xmm0, xmm2
mov dword [esp + 0x6c], 0xfc439ee5
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x1a61c5c8
mov eax, dword [esp + 0x6c]
rol eax, 2
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
unpcklps xmm1, xmm2
divps xmm0, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
addss xmm1, xmm0
cvttss2si eax, xmm1
xor ecx, ecx
test eax, eax
cmovg ecx, eax
cmp ecx, 0x11
mov eax, 0x11
cmovl eax, ecx
mov dword [esi + 0x6350], eax
cmp eax, 2
jb 0x10034f0d
mov eax, dword [esp + 8]
bswap eax
mov edx, dword [esp + 4]
add edx, eax
mov ecx, dword [esp]
ror edx, cl
movss xmm0, dword [esi + 0x6380]
movsd xmm1, qword [esi + 0x6378]
movsd xmm2, qword [edx + 0x38]
subss xmm0, dword [edx + 0x40]
mov eax, dword [esp + 8]
bswap eax
mov edx, dword [esp + 4]
add edx, eax
mov ecx, dword [esp]
ror edx, cl
test byte [edx + 0x50], 1
je 0x10034cc8
test byte [esi + 0x6374], 1
je 0x10034cfa
mov eax, dword [esp + 8]
bswap eax
mov edx, dword [esp + 4]
add edx, eax
mov ecx, dword [esp]
ror edx, cl
test byte [edx + 0x50], 2
sete cl
mov eax, dword [esi + 0x6374]
and eax, 2
mov edx, eax
shr edx, 1
xor dl, cl
jne 0x10034cfa
subss xmm0, dword [eax + eax + 0x10148fb8]
cvtsi2ss xmm3, dword [esi + 0x6350]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
mulss xmm3, dword [edx + 0x20]
xorps xmm4, xmm4
ucomiss xmm3, xmm4
jbe 0x10034e2e
movss xmm4, dword [0x10147700]
ucomiss xmm4, xmm3
jbe 0x10034e2e
subps xmm1, xmm2
divss xmm4, xmm3
mulss xmm0, xmm4
shufps xmm4, xmm4, 0
mulps xmm4, xmm1
movlps qword [esi + 0x6418], xmm4
movss dword [esi + 0x6420], xmm0
jmp 0x10034e36
movss xmm0, dword [0x10148fc0]
jmp 0x10034d7b
movss xmm0, dword [0x10148fc0]
maxss xmm0, dword [0x10148fc4]
movss xmm1, dword [esi + 0x6174]
xorps xmm2, xmm2
ucomiss xmm1, xmm2
jbe 0x10035123
movss xmm3, dword [esi + 0x617c]
ucomiss xmm3, xmm2
jbe 0x10035123
movsd xmm2, qword [esi + 0x6418]
movaps xmm3, xmm2
shufps xmm3, xmm2, 0x55
movaps xmm4, xmm2
mulss xmm4, xmm2
xorps xmm5, xmm5
addss xmm4, xmm5
mulss xmm3, xmm3
addss xmm3, xmm4
cvtss2sd xmm3, xmm3
sqrtsd xmm3, xmm3
cvtsd2ss xmm3, xmm3
ucomiss xmm3, xmm5
jbe 0x10035123
test byte [esi + 0x6374], 2
jne 0x10034e02
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x1f4]
cmp byte [ecx + eax], 0
je 0x10034e0a
mulss xmm0, dword [0x10148fd4]
jmp 0x10034e0a
mulss xmm0, dword [0x10148fd0]
mulss xmm0, xmm1
divss xmm0, xmm3
mov dword [esi + 0x635c], 1
unpcklps xmm0, xmm0
mulps xmm2, xmm0
movlps qword [esi + 0x6418], xmm2
jmp 0x10035123
movss xmm4, dword [esi + 0x6418]
movss dword [esp + 0x6c], xmm4
lea ebx, [esp + 0x6c]
push ebx
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__fdtest]
add esp, 4
cmp ax, 2
je 0x10034e90
movss xmm0, dword [esi + 0x641c]
movss dword [esp + 0x6c], xmm0
push ebx
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__fdtest]
add esp, 4
cmp ax, 2
je 0x10034e90
movss xmm0, dword [esi + 0x6420]
movss dword [esp + 0x6c], xmm0
push ebx
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__fdtest]
add esp, 4
cmp ax, 2
jne 0x100364c4
xorps xmm0, xmm0
movlps qword [esi + 0x6418], xmm0
mov dword [esi + 0x6420], 0
xorps xmm0, xmm0
movss dword [esp + 0x6c], xmm0
push ebx
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__fdtest]
add esp, 4
cmp ax, 1
je 0x10034ef9
movss xmm0, dword [esi + 0x641c]
movss dword [esp + 0x6c], xmm0
push ebx
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__fdtest]
add esp, 4
cmp ax, 1
je 0x10034ef9
movss xmm0, dword [esi + 0x6420]
movss dword [esp + 0x6c], xmm0
push ebx
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__fdtest]
add esp, 4
cmp ax, 1
jne 0x10034f0d
xorps xmm0, xmm0
movlps qword [esi + 0x6418], xmm0
mov dword [esi + 0x6420], 0
cmp dword [esi + 0x6340], 0
je 0x10034f6e
movss xmm0, dword [esi + 0x6348]
movss xmm1, dword [esi + 0x6360]
xorps xmm2, xmm2
cvtsi2ss xmm2, dword [esi + 0x6350]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
mulss xmm2, dword [edx + 0x20]
subss xmm1, xmm2
ucomiss xmm0, xmm1
jbe 0x10034f6e
movss xmm0, dword [esi + 0x6360]
ucomiss xmm0, dword [esi + 0x6348]
jb 0x10034f6e
mov byte [esi + 0x642a], 1
cmp dword [esi + 0x6350], 2
jl 0x10035123
test byte [esi + 0x6374], 1
je 0x10034ffe
mov eax, dword [esp + 8]
bswap eax
mov ecx, dword [esp + 4]
mov edx, dword [esp]
add ecx, eax
je 0x10034fac
mov eax, dword [esp + 8]
bswap eax
mov edx, dword [esp + 4]
add edx, eax
mov ecx, dword [esp]
ror edx, cl
test byte [edx + 0x50], 1
je 0x10034ffe
movss xmm0, dword [esi + 0x617c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x10034fde
jp 0x10034fde
mov dword [esi + 0x641c], 0
mov dword [esi + 0x6418], 0
mov dword [esi + 0x6420], 0
jmp 0x10034ffe
mov eax, dword [esi + 0x6340]
mov ecx, dword [esp + 8]
bswap ecx
mov edx, dword [esp + 4]
add edx, ecx
mov ecx, dword [esp]
ror edx, cl
cmp eax, dword [edx + 0x1c]
je 0x100364d1
test byte [esi + 0x6374], 1
je 0x10035056
mov eax, dword [esp + 8]
bswap eax
mov edx, dword [esp + 4]
add edx, eax
mov ecx, dword [esp]
ror edx, cl
test byte [edx + 0x50], 1
je 0x10035056
movss xmm0, dword [esi + 0x617c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1003643d
jp 0x1003643d
mov dword [esi + 0x641c], 0
mov dword [esi + 0x6418], 0
mov dword [esi + 0x6420], 0
mov eax, dword [esp + 8]
bswap eax
mov ecx, dword [esp + 4]
mov edx, dword [esp]
add ecx, eax
je 0x10035123
mov eax, dword [esp + 8]
bswap eax
mov edx, dword [esp + 4]
add edx, eax
mov ecx, dword [esp]
ror edx, cl
movss xmm1, dword [edx + 0x44]
movss xmm2, dword [edx + 0x48]
mulss xmm1, xmm1
xorps xmm0, xmm0
addss xmm1, xmm0
mulss xmm2, xmm2
addss xmm2, xmm1
xorps xmm1, xmm1
cvtss2sd xmm1, xmm2
sqrtsd xmm1, xmm1
cvtsd2ss xmm1, xmm1
ucomiss xmm1, xmm0
jne 0x100350af
jnp 0x1003511c
movss xmm1, dword [esi + 0x6418]
movss xmm2, dword [esi + 0x641c]
mulss xmm1, xmm1
addss xmm1, xmm0
mulss xmm2, xmm2
addss xmm2, xmm1
xorps xmm1, xmm1
cvtss2sd xmm1, xmm2
sqrtsd xmm1, xmm1
cvtsd2ss xmm1, xmm1
ucomiss xmm1, xmm0
jne 0x1003511c
jp 0x1003511c
mov eax, dword [esp + 8]
bswap eax
mov edx, dword [esp + 4]
add edx, eax
mov ecx, dword [esp]
ror edx, cl
movss xmm0, dword [edx + 0x54]
subss xmm0, dword [esi + 0x6410]
andps xmm0, xmmword [0x10147ac0]
ucomiss xmm0, dword [0x10147aa8]
jbe 0x1003511c
mov byte [edi + 0x404c], 1
jmp 0x10035123
mov byte [edi + 0x404c], 0
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x208]
mov esi, dword [ecx + eax]
mov ecx, dword [esp + 0xb4]
bswap ecx
mov edx, dword [esp + 0xb8]
add edx, ecx
mov ecx, dword [esp + 0xbc]
ror edx, cl
add edx, 0x6378
mov ebx, dword [0x102a22ac]
mov ecx, eax
push edx
call dword [ebx + 0x2f0]
mov ecx, dword [esp + 0xb4]
bswap ecx
mov eax, dword [esp + 0xb8]
add eax, ecx
mov ecx, dword [esp + 0xbc]
ror eax, cl
add eax, 0x6004
mov ecx, dword [edi + 0x20]
push 0x2d8
push eax
push dword [ecx + 0x2970]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc0]
bswap eax
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xc8]
add ecx, eax
je 0x100351dc
mov eax, dword [esp + 0xc0]
bswap eax
mov edx, dword [esp + 0xc4]
add edx, eax
mov ecx, dword [esp + 0xc8]
ror edx, cl
cmp byte [edx + 0x19], 0
je 0x10036186
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
test byte [edx + 0x6374], 1
je 0x10035209
mov word [esi + 0x108], 1
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x6180]
movss dword [esi + 0x98], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x6174]
movss dword [esi + 0x9c], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x61ac]
movss dword [esi + 0x190], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
mov eax, dword [edx + 0x61a4]
mov dword [esi + 0x19c], eax
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x61b8]
movss dword [esi + 0x198], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x62c4]
movss dword [esi + 0x180], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x634c]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
subss xmm0, dword [edx + 0x20]
movss dword [esi + 0x6c], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x640c]
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x1a0]
movss dword [ecx + eax], xmm0
mov ecx, dword [esp + 0xb4]
bswap ecx
mov eax, dword [esp + 0xb8]
add eax, ecx
mov ecx, dword [esp + 0xbc]
ror eax, cl
mov ecx, dword [edi + 0x20]
mov edx, dword [0x102a22ac]
mov esi, dword [edx + 0x34]
mov ebx, dword [eax + 0x6420]
mov dword [esi + ecx + 8], ebx
movsd xmm0, qword [eax + 0x6418]
movsd qword [esi + ecx], xmm0
mov ecx, dword [edi + 0x20]
mov edx, dword [edx + 0x3c]
movsd xmm0, qword [eax + 0x6418]
mov eax, dword [eax + 0x6420]
mov dword [edx + ecx + 8], eax
movsd qword [edx + ecx], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
mov eax, dword [edx + 0x6354]
mov dword [esp + 0x6c], 0xaa62c5ef
mov ecx, dword [esp + 0x6c]
bswap ecx
mov dword [esp + 0x6c], ecx
add dword [esp + 0x6c], 0x103e9d56
mov ecx, dword [esp + 0x6c]
rol ecx, 0xf
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jle 0x10035610
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x6174]
mov dword [esp + 0x6c], 0xd05a77fe
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x188a530
mov eax, dword [esp + 0x6c]
rol eax, 0x13
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
cvtsi2ss xmm1, eax
mov dword [esp + 0x6c], 0xfc439ee5
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x1a61c5c8
mov eax, dword [esp + 0x6c]
rol eax, 2
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
cvtsi2ss xmm2, eax
divss xmm1, xmm2
ucomiss xmm0, xmm1
jne 0x10035610
jp 0x10035610
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x617c]
mov dword [esp + 0x6c], 0xd05a77fe
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x188a530
mov eax, dword [esp + 0x6c]
rol eax, 0x13
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov dword [esp + 0x6c], 0xfc439ee5
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x1a61c5c8
mov eax, dword [esp + 0x6c]
rol eax, 2
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
divss xmm1, xmm2
ucomiss xmm0, xmm1
jne 0x10035610
jp 0x10035610
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x28]
test byte [ecx + eax], 1
je 0x10035610
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
mov byte [edx + 0x636c], 1
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
mov eax, dword [esp + 0x74]
mov dword [edx + 0x6420], eax
movsd xmm0, qword [esp + 0x6c]
movsd qword [edx + 0x6418], xmm0
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov edx, dword [ecx + 0x34]
mov esi, dword [esp + 0x74]
mov dword [edx + eax + 8], esi
movsd xmm0, qword [esp + 0x6c]
movsd qword [edx + eax], xmm0
mov eax, dword [edi + 0x20]
mov ecx, dword [ecx + 0x3c]
mov edx, dword [esp + 0x74]
mov dword [ecx + eax + 8], edx
movsd xmm0, qword [esp + 0x6c]
movsd qword [ecx + eax], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x6348]
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
ucomiss xmm0, dword [edx + 0x6368]
jb 0x100356a2
mov ecx, dword [esp + 0xb4]
bswap ecx
mov eax, dword [esp + 0xb8]
add eax, ecx
mov ecx, dword [esp + 0xbc]
ror eax, cl
mov ecx, dword [esp + 0xb4]
bswap ecx
mov edx, dword [esp + 0xb8]
add edx, ecx
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x6360]
ucomiss xmm0, dword [eax + 0x6348]
jae 0x1003612e
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x63f0]
movss dword [edi + 0x3c8c], xmm0
mov ecx, dword [esp + 0xc0]
bswap ecx
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc8]
add edx, ecx
je 0x10035747
mov ecx, dword [0x102a2348]
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x30], eax
push edi
push dword [esp + 0x40]
push dword [esp + 0x48]
push dword [esp + 0x50]
push dword [esp + 0x40]
push dword [esp + 0x48]
push dword [esp + 0x50]
call fcn.100375d0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x2c]
mov esi, dword [edx + 0x6380]
mov dword [ecx + eax + 8], esi
movsd xmm0, qword [edx + 0x6378]
movsd qword [ecx + eax], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x6410]
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x1e0]
movss dword [ecx + eax], xmm0
mov eax, dword [edi + 0x20]
and dword [eax + 0xe4], 0xffffe7ff
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x1e4]
mov esi, dword [edx + 0x63f8]
mov dword [ecx + eax + 8], esi
movsd xmm0, qword [edx + 0x63f0]
movsd qword [ecx + eax], xmm0
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
mov esi, dword [edx + 4]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
mov ebx, dword [edx + 0x1c]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm0, dword [edx]
movss dword [esp + 0xc], xmm0
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm0, dword [edx + 0x10]
movss dword [esp + 0x1c], xmm0
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm0, dword [edx + 0x14]
movss dword [esp + 0x18], xmm0
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm0, dword [edx + 8]
movss dword [esp + 0x14], xmm0
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm0, dword [edx + 0x24]
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x634c]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss dword [edx], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x634c]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss dword [edx + 0x10], xmm0
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm0, dword [edx + 0x20]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss dword [edx + 0x14], xmm0
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm0, dword [edx + 0x20]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss dword [edx + 8], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x634c]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm1, dword [edx + 0x20]
mov dword [esp + 0x6c], 0xd05ae800
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x188a530
mov eax, dword [esp + 0x6c]
rol eax, 0x13
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
cvtsi2ss xmm2, eax
mov dword [esp + 0x6c], 0xfc439ee5
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x1a61c5c8
mov eax, dword [esp + 0x6c]
rol eax, 2
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
cvtsi2ss xmm3, eax
unpcklps xmm0, xmm2
unpcklps xmm1, xmm3
divps xmm0, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
addss xmm1, xmm0
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
cvttss2si eax, xmm1
mov dword [edx + 4], eax
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x634c]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm1, dword [edx + 0x20]
mov dword [esp + 0x6c], 0xd05ae800
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x188a530
mov eax, dword [esp + 0x6c]
rol eax, 0x13
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
unpcklps xmm0, xmm2
mov dword [esp + 0x6c], 0xfc439ee5
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x1a61c5c8
mov eax, dword [esp + 0x6c]
rol eax, 2
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
unpcklps xmm1, xmm2
divps xmm0, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
addss xmm1, xmm0
cvttss2si eax, xmm1
mov ecx, dword [0x102a22bc]
bswap ecx
mov edx, dword [0x102a22c0]
add edx, ecx
mov ecx, dword [0x102a22c4]
ror edx, cl
mov dword [edx + 0x1c], eax
mov dword [esp + 0x6c], 0xd05a77fe
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x188a530
mov eax, dword [esp + 0x6c]
rol eax, 0x13
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov dword [esp + 0x6c], 0xfc439ee5
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x1a61c5c8
mov eax, dword [esp + 0x6c]
rol eax, 2
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
divss xmm0, xmm1
movss dword [edx + 0x24], xmm0
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
mov eax, dword [edx + 4]
mov dword [esp + 0x6c], 0x65227d66
mov ecx, dword [esp + 0x6c]
bswap ecx
mov dword [esp + 0x6c], ecx
add dword [esp + 0x6c], 0x9982e59b
mov ecx, dword [esp + 0x6c]
rol ecx, 0x15
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x6c]
sub eax, ecx
mov ecx, dword [edi + 0x20]
mov edx, dword [0x102a22ac]
mov ebp, dword [edx + 0x208]
mov ecx, dword [ebp + ecx]
mov dword [ecx + 0x70], eax
mov eax, dword [edi + 0x20]
mov ecx, dword [edx + 0xec]
mov byte [ecx + eax], 1
mov eax, dword [0x102a22ac]
mov byte [eax + 0x354], 1
mov ecx, dword [edi + 0x20]
mov eax, dword [ecx]
call dword [eax + 0x368]
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0xec]
mov byte [ecx + eax], 0
mov ecx, dword [0x102a22ac]
mov byte [ecx + 0x354], 0
mov eax, dword [edi + 0x20]
mov edx, dword [ecx + 0xcc]
mov ecx, dword [esp + 0xb4]
bswap ecx
mov ebp, dword [esp + 0xb8]
add ebp, ecx
mov ecx, dword [esp + 0xbc]
ror ebp, cl
movups xmm0, xmmword [edx + eax + 0x50]
movups xmmword [ebp + 0x632c], xmm0
movups xmm0, xmmword [edx + eax + 0x40]
movups xmmword [ebp + 0x631c], xmm0
movups xmm0, xmmword [edx + eax + 0x30]
movups xmmword [ebp + 0x630c], xmm0
movups xmm0, xmmword [edx + eax + 0x20]
movups xmmword [ebp + 0x62fc], xmm0
movups xmm0, xmmword [edx + eax]
movups xmm1, xmmword [edx + eax + 0x10]
movups xmmword [ebp + 0x62ec], xmm1
movups xmmword [ebp + 0x62dc], xmm0
mov eax, dword [0x102a22ac]
mov ecx, dword [edi + 0x20]
push 8
call dword [eax + 0x330]
mov ecx, dword [esp + 0xb4]
bswap ecx
mov eax, dword [esp + 0xb8]
add eax, ecx
mov ecx, dword [esp + 0xbc]
ror eax, cl
add eax, 0x6004
mov ecx, dword [edi + 0x20]
push 0x2d8
push eax
push dword [ecx + 0x2970]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x208]
mov eax, dword [ecx + eax]
movss xmm0, dword [eax + 0x80]
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss dword [edx + 0x63bc], xmm0
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x208]
mov eax, dword [ecx + eax]
movss xmm0, dword [eax + 0x88]
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss dword [edx + 0x63c8], xmm0
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x208]
mov eax, dword [ecx + eax]
movss xmm0, dword [eax + 0x90]
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss dword [edx + 0x63cc], xmm0
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x208]
mov eax, dword [ecx + eax]
movss xmm0, dword [eax + 0x8c]
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss dword [edx + 0x63d0], xmm0
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x208]
mov eax, dword [ecx + eax]
movss xmm0, dword [eax + 0xa0]
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss dword [edx + 0x63d8], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x634c]
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
mov eax, dword [edi + 0x20]
sub esp, 0xc
movss dword [esp + 8], xmm0
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.100378a0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb4]
bswap ecx
mov ebp, dword [esp + 0xb8]
add ebp, ecx
mov ecx, dword [esp + 0xbc]
ror ebp, cl
add edx, eax
setne byte [ebp + 0x642b]
lea eax, [edi + 0x40]
mov ecx, dword [esp + 0xb4]
bswap ecx
mov edx, dword [esp + 0xb8]
add edx, ecx
mov ecx, dword [esp + 0xbc]
ror edx, cl
push 0x3000
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm0, dword [esp + 0xc]
movss dword [edx], xmm0
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm0, dword [esp + 0x1c]
movss dword [edx + 0x10], xmm0
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm0, dword [esp + 0x18]
movss dword [edx + 0x14], xmm0
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm0, dword [esp + 0x14]
movss dword [edx + 8], xmm0
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm0, dword [esp + 0x10]
movss dword [edx + 0x24], xmm0
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
mov dword [edx + 4], esi
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
mov dword [edx + 0x1c], ebx
mov esi, dword [edi + 0x20]
mov eax, dword [0x102a22ac]
mov ecx, dword [eax + 0xc0]
mov ecx, dword [ecx + esi]
test ecx, ecx
jne 0x1003603d
mov ecx, esi
call dword [eax + 0xc4]
mov eax, dword [0x102a22ac]
mov ecx, dword [eax + 0xc0]
mov ecx, dword [ecx + esi]
test ecx, ecx
je 0x1003606b
mov eax, dword [ecx]
mov eax, dword [eax + 0x9c]
mov ecx, dword [esp + 0xb4]
bswap ecx
mov edx, dword [esp + 0xb8]
add edx, ecx
mov ecx, dword [esp + 0xbc]
ror edx, cl
mov dword [edx + 0x63a4], eax
mov eax, dword [0x102a22ac]
mov ecx, dword [edi + 0x20]
mov edx, dword [eax + 0x2c]
mov esi, dword [esp + 0x98]
mov dword [edx + ecx + 8], esi
movsd xmm0, qword [esp + 0x90]
movsd qword [edx + ecx], xmm0
mov ecx, dword [edi + 0x20]
mov edx, dword [eax + 0x34]
mov esi, dword [esp + 0x8c]
mov dword [edx + ecx + 8], esi
movsd xmm0, qword [esp + 0x84]
movsd qword [edx + ecx], xmm0
mov ecx, dword [edi + 0x20]
mov edx, dword [eax + 0x3c]
mov esi, dword [esp + 0x80]
mov dword [edx + ecx + 8], esi
movsd xmm0, qword [esp + 0x78]
movsd qword [edx + ecx], xmm0
mov ecx, dword [edi + 0x20]
mov eax, dword [eax + 0x28]
mov edx, dword [esp + 0x20]
mov dword [eax + ecx], edx
mov eax, dword [edi + 0x20]
mov ecx, dword [esp + 0x28]
mov dword [eax + 0xe4], ecx
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x1a0]
movss xmm0, dword [esp + 0x24]
movss dword [ecx + eax], xmm0
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x1e0]
movss xmm0, dword [esp + 0x2c]
movss dword [ecx + eax], xmm0
mov ecx, dword [esp + 0x9c]
xor ecx, esp
call fcn.100ea0d3
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
cmp dword [edx + 0x6354], 3
jl 0x100356cd
movss xmm0, dword [edi + 0x3c8c]
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss dword [edx + 0x63f0], xmm0
jmp 0x100356cd
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x6174]
movss dword [esi + 0x9c], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x6180]
movss dword [esi + 0x98], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x61ac]
movss dword [esi + 0x190], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
mov eax, dword [edx + 0x61a4]
mov dword [esi + 0x19c], eax
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x61b8]
movss dword [esi + 0x198], xmm0
mov eax, dword [esp + 0xb4]
bswap eax
mov edx, dword [esp + 0xb8]
add edx, eax
mov ecx, dword [esp + 0xbc]
ror edx, cl
movss xmm0, dword [edx + 0x62c4]
movss dword [esi + 0x180], xmm0
mov eax, dword [esp + 0xc0]
bswap eax
mov edx, dword [esp + 0xc4]
add edx, eax
mov ecx, dword [esp + 0xc8]
ror edx, cl
movss xmm0, dword [edx]
movss dword [esi + 0x80], xmm0
mov eax, dword [esp + 0xc0]
bswap eax
mov edx, dword [esp + 0xc4]
add edx, eax
mov ecx, dword [esp + 0xc8]
ror edx, cl
movss xmm0, dword [edx + 4]
movss dword [esi + 0x88], xmm0
mov eax, dword [esp + 0xc0]
bswap eax
mov edx, dword [esp + 0xc4]
add edx, eax
mov ecx, dword [esp + 0xc8]
ror edx, cl
movss xmm0, dword [edx + 8]
movss dword [esi + 0x90], xmm0
mov eax, dword [esp + 0xc0]
bswap eax
mov edx, dword [esp + 0xc4]
add edx, eax
mov ecx, dword [esp + 0xc8]
ror edx, cl
movss xmm0, dword [edx + 0xc]
movss dword [esi + 0x8c], xmm0
mov eax, dword [esp + 0xc0]
bswap eax
mov edx, dword [esp + 0xc4]
add edx, eax
mov ecx, dword [esp + 0xc8]
ror edx, cl
movss xmm0, dword [edx + 0x10]
movss dword [esi + 0xa0], xmm0
mov eax, dword [esp + 0xc0]
bswap eax
mov ebp, dword [esp + 0xc4]
add ebp, eax
mov ecx, dword [esp + 0xc8]
ror ebp, cl
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
lea esi, [esp + 0x60]
mov ebx, 0x8421085
mov eax, esi
mul ebx
mov dword [esp + 0x64], esi
mov eax, esi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
mov ecx, eax
shl ecx, 5
sub eax, ecx
lea ecx, [esp + eax]
add ecx, 0x60
mov dword [esp + 0x68], ecx
rol ebp, cl
sub ebp, esi
bswap ebp
mov dword [esp + 0x60], ebp
mov eax, dword [esp + 0xb4]
bswap eax
mov ebp, dword [esp + 0xb8]
add ebp, eax
mov ecx, dword [esp + 0xbc]
ror ebp, cl
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
lea esi, [esp + 0x54]
mov eax, esi
mul ebx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], esi
mov eax, esi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
mov ecx, eax
shl ecx, 5
sub eax, ecx
lea ecx, [esp + eax]
add ecx, 0x54
rol ebp, cl
mov dword [esp + 0x5c], ecx
sub ebp, esi
bswap ebp
mov dword [esp + 0x54], ebp
push edi
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.10036800
jmp 0x1003534b
movss xmm0, dword [esi + 0x6174]
ucomiss xmm0, dword [0x10148fc4]
jae 0x10036590
xorps xmm2, xmm2
ucomiss xmm0, xmm2
jne 0x10036460
jnp 0x10035056
movsd xmm1, qword [esi + 0x6418]
movaps xmm3, xmm1
shufps xmm3, xmm1, 0x55
movaps xmm4, xmm1
mulss xmm4, xmm1
addss xmm4, xmm2
mulss xmm3, xmm3
addss xmm3, xmm4
xorps xmm2, xmm2
cvtss2sd xmm2, xmm3
sqrtsd xmm2, xmm2
cvtsd2ss xmm2, xmm2
test byte [esi + 0x6374], 2
jne 0x10036613
mov eax, dword [edi + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x1f4]
cmp byte [ecx + eax], 0
je 0x1003661b
mulss xmm0, dword [0x10148fd4]
jmp 0x1003661b
movss xmm0, dword [esi + 0x6418]
jmp 0x10034ea7
movss xmm0, dword [esi + 0x628c]
ucomiss xmm0, xmm1
jbe 0x10034ffe
movss xmm3, dword [0x10147700]
ucomiss xmm3, xmm0
jbe 0x10034ffe
movss xmm0, dword [esi + 0x6418]
mulss xmm0, xmm0
xorps xmm2, xmm2
addss xmm0, xmm2
movss xmm1, dword [esi + 0x641c]
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
sqrtsd xmm0, xmm0
cvtsd2ss xmm4, xmm0
mov ebp, dword [esi + 0x6340]
test ebp, ebp
je 0x10036648
movss dword [esp + 0xc], xmm4
mov eax, dword [edi + 0x20]
mov edx, dword [0x102a22ac]
mov ecx, dword [edx + 0x1e8]
movzx ebx, byte [ecx + eax]
mov ecx, dword [edx + 4]
mov eax, dword [edx + 0x108]
mov edx, dword [ecx]
movzx eax, word [eax + ebp]
push eax
call dword [edx + 8]
test eax, eax
je 0x10036652
mov eax, dword [0x102a22ac]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0x108]
mov edx, dword [ecx]
movzx eax, word [eax + ebp]
push eax
call dword [edx + 8]
movzx ecx, bl
movss xmm0, dword [eax + ecx*4 + 0x12c]
jmp 0x1003665a
movss xmm2, dword [esi + 0x628c]
ucomiss xmm1, xmm2
jae 0x100365aa
ucomiss xmm2, dword [0x10147700]
jb 0x10035056
movss xmm2, dword [esi + 0x6418]
movss xmm3, dword [esi + 0x641c]
mulss xmm2, xmm2
addss xmm2, xmm1
mulss xmm3, xmm3
addss xmm3, xmm2
xorps xmm2, xmm2
cvtss2sd xmm2, xmm3
sqrtsd xmm2, xmm2
cvtsd2ss xmm2, xmm2
ucomiss xmm2, xmm1
jbe 0x10035056
movss xmm3, dword [0x10147700]
ucomiss xmm3, xmm0
jbe 0x100366e2
mov eax, dword [esp + 8]
bswap eax
mov edx, dword [esp + 4]
add edx, eax
mov ecx, dword [esp]
ror edx, cl
ucomiss xmm0, dword [edx + 0x1cc]
setae bl
jmp 0x100366e4
mulss xmm0, dword [0x10148fd0]
xorps xmm3, xmm3
ucomiss xmm2, xmm3
jne 0x10036629
jnp 0x10035056
add dword [esi + 0x635c], 7
unpcklps xmm2, xmm2
divps xmm1, xmm2
unpcklps xmm0, xmm0
mulps xmm0, xmm1
movlps qword [esi + 0x6418], xmm0
jmp 0x10035056
movss xmm0, dword [0x10148fc0]
jmp 0x10036673
movss xmm0, dword [0x10148fc0]
maxss xmm0, dword [0x10148fc4]
movss xmm3, dword [0x10147700]
movss xmm4, dword [esp + 0xc]
xorps xmm2, xmm2
ucomiss xmm4, xmm2
jne 0x1003667e
jnp 0x10034ffe
movaps xmm1, xmm3
subss xmm1, dword [esi + 0x628c]
mulss xmm1, dword [0x10148fc8]
ucomiss xmm1, xmm2
jbe 0x10034ffe
ucomiss xmm3, xmm1
jbe 0x10034ffe
addss xmm1, dword [0x10148fcc]
mulss xmm0, xmm1
divss xmm0, xmm4
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x100366c1
jnp 0x10034ffe
add dword [esi + 0x635c], 3
movsd xmm1, qword [esi + 0x6418]
unpcklps xmm0, xmm0
mulps xmm0, xmm1
movlps qword [esi + 0x6418], xmm0
jmp 0x10034ffe
xor ebx, ebx
mov ebp, dword [esi + 0x6340]
test ebp, ebp
je 0x10036744
mov eax, dword [edi + 0x20]
mov edx, dword [0x102a22ac]
mov ecx, dword [edx + 0x1e8]
movzx eax, byte [ecx + eax]
mov byte [esp + 0xc], al
mov ecx, dword [edx + 4]
mov eax, dword [edx + 0x108]
mov edx, dword [ecx]
movzx eax, word [eax + ebp]
push eax
call dword [edx + 8]
test eax, eax
je 0x1003674e
mov eax, dword [0x102a22ac]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0x108]
mov edx, dword [ecx]
movzx eax, word [eax + ebp]
push eax
call dword [edx + 8]
movzx ecx, byte [esp + 0xc]
movss xmm0, dword [eax + ecx*4 + 0x12c]
jmp 0x10036756
movss xmm0, dword [0x10148fc0]
jmp 0x10036766
movss xmm0, dword [0x10148fc0]
movss xmm3, dword [0x10147700]
maxss xmm0, dword [0x10148fc4]
test bl, bl
je 0x10035056
movss xmm1, dword [0x10148fd0]
mulss xmm1, xmm0
mulss xmm0, dword [0x10148fd4]
subss xmm0, xmm1
add dword [esi + 0x635c], 5
xorps xmm2, xmm2
maxss xmm0, xmm2
subss xmm3, dword [esi + 0x640c]
mulss xmm3, xmm0
addss xmm3, xmm1
mulss xmm3, dword [esi + 0x6174]
movsd xmm0, qword [esi + 0x6418]
movaps xmm1, xmm0
mulss xmm1, xmm0
addss xmm1, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
mulss xmm2, xmm2
addss xmm2, xmm1
xorps xmm1, xmm1
cvtss2sd xmm1, xmm2
sqrtsd xmm1, xmm1
cvtsd2ss xmm1, xmm1
divss xmm3, xmm1
unpcklps xmm3, xmm3
mulps xmm3, xmm0
movlps qword [esi + 0x6418], xmm3
jmp 0x10035056