Function at 0x10038050
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 [0x1026f9c0]
xor eax, esp
mov dword [esp + 0x9c], eax
mov eax, dword [edi + 0x24]
mov ecx, dword [0x1026fc70]
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 0x10038873
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 0x1003822f
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], 0x9485a84b
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x34577ba4
mov eax, dword [esp + 0x6c]
rol eax, 0x11
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
mulss xmm0, xmm0
mov dword [esp + 0x6c], 0xa4356fe2
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0xe190ca65
mov eax, dword [esp + 0x6c]
rol eax, 0xa
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
cvtsi2ss xmm3, eax
addss xmm0, xmm1
divss xmm2, xmm3
ucomiss xmm0, xmm2
jbe 0x1003822f
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 0x1003825b
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 0x100382e2
mov eax, dword [esp + 8]
bswap eax
mov ecx, dword [esp + 4]
mov edx, dword [esp]
add ecx, eax
jne 0x10038873
test byte [esi + 0x6374], 1
je 0x10038873
mov ebp, dword [esi + 0x6340]
test ebp, ebp
je 0x100384b1
mov eax, dword [edi + 0x24]
mov edx, dword [0x1026fc70]
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 0x100384bb
mov eax, dword [0x1026fc70]
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 0x100384c3
mov eax, dword [esp + 8]
bswap eax
mov ecx, dword [esp + 4]
mov edx, dword [esp]
add ecx, eax
je 0x1003865d
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 [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss xmm1, dword [edx + 0x20]
mov dword [esp + 0x6c], 0x5c846cd5
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x34577ba4
mov eax, dword [esp + 0x6c]
rol eax, 0x11
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
unpcklps xmm0, xmm2
mov dword [esp + 0x6c], 0xa4356fe2
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0xe190ca65
mov eax, dword [esp + 0x6c]
rol eax, 0xa
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 0x1003865d
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 0x10038418
test byte [esi + 0x6374], 1
je 0x1003844a
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 0x1003844a
subss xmm0, dword [eax + eax + 0x101439a8]
cvtsi2ss xmm3, dword [esi + 0x6350]
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
mulss xmm3, dword [edx + 0x20]
xorps xmm4, xmm4
ucomiss xmm3, xmm4
jbe 0x1003857e
movss xmm4, dword [0x10141e50]
ucomiss xmm4, xmm3
jbe 0x1003857e
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 0x10038586
movss xmm0, dword [0x101439b0]
jmp 0x100384cb
movss xmm0, dword [0x101439b0]
maxss xmm0, dword [0x101439b4]
movss xmm1, dword [esi + 0x6174]
xorps xmm2, xmm2
ucomiss xmm1, xmm2
jbe 0x10038873
movss xmm3, dword [esi + 0x617c]
ucomiss xmm3, xmm2
jbe 0x10038873
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 0x10038873
test byte [esi + 0x6374], 2
jne 0x10038552
mov eax, dword [edi + 0x24]
mov ecx, dword [0x1026fc70]
mov ecx, dword [ecx + 0x1f4]
cmp byte [ecx + eax], 0
je 0x1003855a
mulss xmm0, dword [0x101439c4]
jmp 0x1003855a
mulss xmm0, dword [0x101439c0]
mulss xmm0, xmm1
divss xmm0, xmm3
mov dword [esi + 0x635c], 1
unpcklps xmm0, xmm0
mulps xmm2, xmm0
movlps qword [esi + 0x6418], xmm2
jmp 0x10038873
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 0x100385e0
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 0x100385e0
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 0x10039c14
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 0x10038649
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 0x10038649
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 0x1003865d
xorps xmm0, xmm0
movlps qword [esi + 0x6418], xmm0
mov dword [esi + 0x6420], 0
cmp dword [esi + 0x6340], 0
je 0x100386be
movss xmm0, dword [esi + 0x6348]
movss xmm1, dword [esi + 0x6360]
xorps xmm2, xmm2
cvtsi2ss xmm2, dword [esi + 0x6350]
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
mulss xmm2, dword [edx + 0x20]
subss xmm1, xmm2
ucomiss xmm0, xmm1
jbe 0x100386be
movss xmm0, dword [esi + 0x6360]
ucomiss xmm0, dword [esi + 0x6348]
jb 0x100386be
mov byte [esi + 0x642a], 1
cmp dword [esi + 0x6350], 2
jl 0x10038873
test byte [esi + 0x6374], 1
je 0x1003874e
mov eax, dword [esp + 8]
bswap eax
mov ecx, dword [esp + 4]
mov edx, dword [esp]
add ecx, eax
je 0x100386fc
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 0x1003874e
movss xmm0, dword [esi + 0x617c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1003872e
jp 0x1003872e
mov dword [esi + 0x641c], 0
mov dword [esi + 0x6418], 0
mov dword [esi + 0x6420], 0
jmp 0x1003874e
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 0x10039c21
test byte [esi + 0x6374], 1
je 0x100387a6
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 0x100387a6
movss xmm0, dword [esi + 0x617c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x10039b8d
jp 0x10039b8d
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 0x10038873
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 0x100387ff
jnp 0x1003886c
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 0x1003886c
jp 0x1003886c
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 [0x10142200]
ucomiss xmm0, dword [0x101421ec]
jbe 0x1003886c
mov byte [edi + 0x4050], 1
jmp 0x10038873
mov byte [edi + 0x4050], 0
mov eax, dword [edi + 0x24]
mov ecx, dword [0x1026fc70]
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 [0x1026fc70]
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 + 0x24]
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 0x1003892c
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 0x100398d6
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 0x10038959
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 [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
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 + 0x24]
mov ecx, dword [0x1026fc70]
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 + 0x24]
mov edx, dword [0x1026fc70]
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 + 0x24]
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], 0x5d2e2c77
mov ecx, dword [esp + 0x6c]
bswap ecx
mov dword [esp + 0x6c], ecx
add dword [esp + 0x6c], 0x88d411a3
mov ecx, dword [esp + 0x6c]
rol ecx, 0x13
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jle 0x10038d60
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], 0x5c84a8cb
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x34577ba4
mov eax, dword [esp + 0x6c]
rol eax, 0x11
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
cvtsi2ss xmm1, eax
mov dword [esp + 0x6c], 0xa4356fe2
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0xe190ca65
mov eax, dword [esp + 0x6c]
rol eax, 0xa
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
cvtsi2ss xmm2, eax
divss xmm1, xmm2
ucomiss xmm0, xmm1
jne 0x10038d60
jp 0x10038d60
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], 0x5c84a8cb
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x34577ba4
mov eax, dword [esp + 0x6c]
rol eax, 0x11
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov dword [esp + 0x6c], 0xa4356fe2
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0xe190ca65
mov eax, dword [esp + 0x6c]
rol eax, 0xa
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
divss xmm1, xmm2
ucomiss xmm0, xmm1
jne 0x10038d60
jp 0x10038d60
mov eax, dword [edi + 0x24]
mov ecx, dword [0x1026fc70]
mov ecx, dword [ecx + 0x28]
test byte [ecx + eax], 1
je 0x10038d60
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 + 0x24]
mov ecx, dword [0x1026fc70]
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 + 0x24]
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 0x10038df2
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 0x1003987e
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 + 0x3c90], xmm0
mov ecx, dword [esp + 0xc0]
bswap ecx
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc8]
add edx, ecx
je 0x10038e97
mov ecx, dword [0x1026fd04]
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.1003ad20
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 + 0x24]
mov ecx, dword [0x1026fc70]
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 + 0x24]
mov ecx, dword [0x1026fc70]
mov ecx, dword [ecx + 0x1e0]
movss dword [ecx + eax], xmm0
mov eax, dword [edi + 0x24]
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 + 0x24]
mov ecx, dword [0x1026fc70]
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 [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
mov esi, dword [edx + 4]
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
mov ebx, dword [edx + 0x1c]
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss xmm0, dword [edx]
movss dword [esp + 0xc], xmm0
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss xmm0, dword [edx + 0x10]
movss dword [esp + 0x1c], xmm0
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss xmm0, dword [edx + 0x14]
movss dword [esp + 0x18], xmm0
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss xmm0, dword [edx + 8]
movss dword [esp + 0x14], xmm0
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
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 [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
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 [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss dword [edx + 0x10], xmm0
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss xmm0, dword [edx + 0x20]
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss dword [edx + 0x14], xmm0
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss xmm0, dword [edx + 0x20]
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
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 [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss xmm1, dword [edx + 0x20]
mov dword [esp + 0x6c], 0x5c846cd5
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x34577ba4
mov eax, dword [esp + 0x6c]
rol eax, 0x11
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
cvtsi2ss xmm2, eax
mov dword [esp + 0x6c], 0xa4356fe2
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0xe190ca65
mov eax, dword [esp + 0x6c]
rol eax, 0xa
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 [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
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 [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss xmm1, dword [edx + 0x20]
mov dword [esp + 0x6c], 0x5c846cd5
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x34577ba4
mov eax, dword [esp + 0x6c]
rol eax, 0x11
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
unpcklps xmm0, xmm2
mov dword [esp + 0x6c], 0xa4356fe2
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0xe190ca65
mov eax, dword [esp + 0x6c]
rol eax, 0xa
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 [0x1026fc80]
bswap ecx
mov edx, dword [0x1026fc84]
add edx, ecx
mov ecx, dword [0x1026fc88]
ror edx, cl
mov dword [edx + 0x1c], eax
mov dword [esp + 0x6c], 0x5c84a8cb
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x34577ba4
mov eax, dword [esp + 0x6c]
rol eax, 0x11
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov dword [esp + 0x6c], 0xa4356fe2
mov eax, dword [esp + 0x6c]
bswap eax
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0xe190ca65
mov eax, dword [esp + 0x6c]
rol eax, 0xa
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
divss xmm0, xmm1
movss dword [edx + 0x24], xmm0
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
mov eax, dword [edx + 4]
mov dword [esp + 0x6c], 0x2706695f
mov ecx, dword [esp + 0x6c]
bswap ecx
mov dword [esp + 0x6c], ecx
add dword [esp + 0x6c], 0xa098f9d9
mov ecx, dword [esp + 0x6c]
rol ecx, 0xf
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x6c]
sub eax, ecx
mov ecx, dword [edi + 0x24]
mov edx, dword [0x1026fc70]
mov ebp, dword [edx + 0x208]
mov ecx, dword [ebp + ecx]
mov dword [ecx + 0x70], eax
mov eax, dword [edi + 0x24]
mov ecx, dword [edx + 0xec]
mov byte [ecx + eax], 1
mov eax, dword [0x1026fc70]
mov byte [eax + 0x354], 1
mov ecx, dword [edi + 0x24]
mov eax, dword [ecx]
call dword [eax + 0x368]
mov eax, dword [edi + 0x24]
mov ecx, dword [0x1026fc70]
mov ecx, dword [ecx + 0xec]
mov byte [ecx + eax], 0
mov ecx, dword [0x1026fc70]
mov byte [ecx + 0x354], 0
mov eax, dword [edi + 0x24]
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 [0x1026fc70]
mov ecx, dword [edi + 0x24]
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 + 0x24]
push 0x2d8
push eax
push dword [ecx + 0x2970]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x24]
mov ecx, dword [0x1026fc70]
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 + 0x24]
mov ecx, dword [0x1026fc70]
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 + 0x24]
mov ecx, dword [0x1026fc70]
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 + 0x24]
mov ecx, dword [0x1026fc70]
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 + 0x24]
mov ecx, dword [0x1026fc70]
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 + 0x24]
sub esp, 0xc
movss dword [esp + 8], xmm0
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.1003aff0
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 + 0x44]
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 [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss xmm0, dword [esp + 0xc]
movss dword [edx], xmm0
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss xmm0, dword [esp + 0x1c]
movss dword [edx + 0x10], xmm0
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss xmm0, dword [esp + 0x18]
movss dword [edx + 0x14], xmm0
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss xmm0, dword [esp + 0x14]
movss dword [edx + 8], xmm0
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
movss xmm0, dword [esp + 0x10]
movss dword [edx + 0x24], xmm0
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
mov dword [edx + 4], esi
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
mov dword [edx + 0x1c], ebx
mov esi, dword [edi + 0x24]
mov eax, dword [0x1026fc70]
mov ecx, dword [eax + 0xc0]
mov ecx, dword [ecx + esi]
test ecx, ecx
jne 0x1003978d
mov ecx, esi
call dword [eax + 0xc4]
mov eax, dword [0x1026fc70]
mov ecx, dword [eax + 0xc0]
mov ecx, dword [ecx + esi]
test ecx, ecx
je 0x100397bb
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 [0x1026fc70]
mov ecx, dword [edi + 0x24]
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 + 0x24]
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 + 0x24]
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 + 0x24]
mov eax, dword [eax + 0x28]
mov edx, dword [esp + 0x20]
mov dword [eax + ecx], edx
mov eax, dword [edi + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [eax + 0xe4], ecx
mov eax, dword [edi + 0x24]
mov ecx, dword [0x1026fc70]
mov ecx, dword [ecx + 0x1a0]
movss xmm0, dword [esp + 0x24]
movss dword [ecx + eax], xmm0
mov eax, dword [edi + 0x24]
mov ecx, dword [0x1026fc70]
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.100f14f8
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 0x10038e1d
movss xmm0, dword [edi + 0x3c90]
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 0x10038e1d
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.10039f50
jmp 0x10038a9b
movss xmm0, dword [esi + 0x6174]
ucomiss xmm0, dword [0x101439b4]
jae 0x10039ce0
xorps xmm2, xmm2
ucomiss xmm0, xmm2
jne 0x10039bb0
jnp 0x100387a6
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 0x10039d63
mov eax, dword [edi + 0x24]
mov ecx, dword [0x1026fc70]
mov ecx, dword [ecx + 0x1f4]
cmp byte [ecx + eax], 0
je 0x10039d6b
mulss xmm0, dword [0x101439c4]
jmp 0x10039d6b
movss xmm0, dword [esi + 0x6418]
jmp 0x100385f7
movss xmm0, dword [esi + 0x628c]
ucomiss xmm0, xmm1
jbe 0x1003874e
movss xmm3, dword [0x10141e50]
ucomiss xmm3, xmm0
jbe 0x1003874e
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 0x10039d98
movss dword [esp + 0xc], xmm4
mov eax, dword [edi + 0x24]
mov edx, dword [0x1026fc70]
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 0x10039da2
mov eax, dword [0x1026fc70]
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 0x10039daa
movss xmm2, dword [esi + 0x628c]
ucomiss xmm1, xmm2
jae 0x10039cfa
ucomiss xmm2, dword [0x10141e50]
jb 0x100387a6
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 0x100387a6
movss xmm3, dword [0x10141e50]
ucomiss xmm3, xmm0
jbe 0x10039e32
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 0x10039e34
mulss xmm0, dword [0x101439c0]
xorps xmm3, xmm3
ucomiss xmm2, xmm3
jne 0x10039d79
jnp 0x100387a6
add dword [esi + 0x635c], 7
unpcklps xmm2, xmm2
divps xmm1, xmm2
unpcklps xmm0, xmm0
mulps xmm0, xmm1
movlps qword [esi + 0x6418], xmm0
jmp 0x100387a6
movss xmm0, dword [0x101439b0]
jmp 0x10039dc3
movss xmm0, dword [0x101439b0]
maxss xmm0, dword [0x101439b4]
movss xmm3, dword [0x10141e50]
movss xmm4, dword [esp + 0xc]
xorps xmm2, xmm2
ucomiss xmm4, xmm2
jne 0x10039dce
jnp 0x1003874e
movaps xmm1, xmm3
subss xmm1, dword [esi + 0x628c]
mulss xmm1, dword [0x101439b8]
ucomiss xmm1, xmm2
jbe 0x1003874e
ucomiss xmm3, xmm1
jbe 0x1003874e
addss xmm1, dword [0x101439bc]
mulss xmm0, xmm1
divss xmm0, xmm4
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x10039e11
jnp 0x1003874e
add dword [esi + 0x635c], 3
movsd xmm1, qword [esi + 0x6418]
unpcklps xmm0, xmm0
mulps xmm0, xmm1
movlps qword [esi + 0x6418], xmm0
jmp 0x1003874e
xor ebx, ebx
mov ebp, dword [esi + 0x6340]
test ebp, ebp
je 0x10039e94
mov eax, dword [edi + 0x24]
mov edx, dword [0x1026fc70]
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 0x10039e9e
mov eax, dword [0x1026fc70]
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 0x10039ea6
movss xmm0, dword [0x101439b0]
jmp 0x10039eb6
movss xmm0, dword [0x101439b0]
movss xmm3, dword [0x10141e50]
maxss xmm0, dword [0x101439b4]
test bl, bl
je 0x100387a6
movss xmm1, dword [0x101439c0]
mulss xmm1, xmm0
mulss xmm0, dword [0x101439c4]
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 0x100387a6