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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa0
mov eax, dword [0x100818bc]
xor edx, edx
mov dword [esp + 4], eax
mov eax, dword [0x10081888]
push esi
push edi
push str.Background
mov eax, dword [eax + 0x4a40]
mov ecx, dword [eax]
call fcn.1000a780
mov edx, dword [esp + 0x10]
add esp, 4
mov dword [esp + 0x14], eax
mov ecx, dword [edx + 0x14]
cmp ecx, dword [edx + 0x18]
jne 0x1003b384
sub esp, 8
mov ecx, edx
push dword [edx + 4]
call fcn.1003bb50
mov edx, dword [esp + 0xc]
mov eax, dword [0x10081888]
mov ecx, dword [edx + 0x18]
mov esi, dword [edx + 0x14]
mov dword [esp + 0x28], 0
movss xmm0, dword [eax + 0xbc]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [eax + 0xc0]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [eax + 0x10]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [eax + 0x14]
mov eax, dword [eax + 0x3f94]
movss dword [esp + 0x44], xmm0
mov dword [esp + 0x24], esi
movss xmm0, dword [eax + 0x20]
movss xmm4, dword [eax + 0x18]
movss xmm3, dword [eax + 0x1c]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [eax + 0x24]
mov eax, ecx
sub eax, esi
movss dword [esp + 0x1c], xmm4
sar eax, 4
movss dword [esp + 0x18], xmm3
movss dword [esp + 0x3c], xmm0
test eax, eax
je 0x1003bb43
xor edi, edi
xor edx, edx
mov dword [esp + 0x20], edi
sub ecx, esi
sar ecx, 4
cmp ecx, edx
jbe 0x1003bb49
movss xmm1, dword [edi + esi]
movss xmm0, dword [edi + esi + 4]
subss xmm1, xmm4
subss xmm0, xmm3
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x1003b454
sqrtsd xmm0, xmm0
jmp 0x1003b459
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
mov eax, dword [esp + 0xc]
cvtsd2ss xmm0, xmm0
movd xmm1, dword [eax + 8]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1003b4f9
divss xmm0, xmm1
movss xmm1, dword [0x1007ccf8]
movaps xmm2, xmm1
subss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
ja 0x1003b494
movaps xmm0, xmm1
minss xmm0, xmm2
mulss xmm0, dword [0x1007cda4]
push ecx
movss xmm1, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
addss xmm0, dword [0x1007ccc4]
movss dword [esp + 0x4c], xmm1
movss xmm1, dword [esp + 0x1c]
movss dword [esp], xmm2
movss dword [esp + 0x50], xmm1
movss xmm1, dword [edi + esi]
cvttss2si eax, xmm0
movss dword [esp + 0x54], xmm1
movss xmm1, dword [edi + esi + 4]
shl eax, 0x18
or eax, 0xffffff
movss dword [esp + 0x58], xmm1
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.1002a5f0
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [esp + 0x38]
movss xmm1, dword [edi + esi]
subss xmm1, xmm0
movss dword [esp + 0x10], xmm0
movss xmm0, dword [edi + esi + 4]
subss xmm0, dword [esp + 0x18]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x1003b53e
sqrtsd xmm0, xmm0
jmp 0x1003b543
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
mov eax, dword [esp + 0xc]
cvtsd2ss xmm0, xmm0
movd xmm1, dword [eax + 8]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1003b5e3
divss xmm0, xmm1
movss xmm1, dword [0x1007ccf8]
movaps xmm2, xmm1
subss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
ja 0x1003b57e
movaps xmm0, xmm1
minss xmm0, xmm2
mulss xmm0, dword [0x1007cda4]
push ecx
movss xmm1, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
addss xmm0, dword [0x1007ccc4]
movss dword [esp + 0x5c], xmm1
movss xmm1, dword [esp + 0x1c]
movss dword [esp], xmm2
movss dword [esp + 0x60], xmm1
movss xmm1, dword [edi + esi]
cvttss2si eax, xmm0
movss dword [esp + 0x64], xmm1
movss xmm1, dword [edi + esi + 4]
shl eax, 0x18
or eax, 0xffffff
movss dword [esp + 0x68], xmm1
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.1002a5f0
movss xmm2, dword [esp + 0x18]
addss xmm2, dword [esp + 0x3c]
movss xmm1, dword [edi + esi]
movss xmm0, dword [edi + esi + 4]
subss xmm1, dword [esp + 0x1c]
subss xmm0, xmm2
movss dword [esp + 0x2c], xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x1003b628
sqrtsd xmm0, xmm0
jmp 0x1003b62d
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
mov eax, dword [esp + 0xc]
cvtsd2ss xmm0, xmm0
movd xmm1, dword [eax + 8]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1003b6cf
divss xmm0, xmm1
movss xmm1, dword [0x1007ccf8]
movaps xmm2, xmm1
subss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x1003b666
xorps xmm1, xmm1
jmp 0x1003b66a
minss xmm1, xmm2
mulss xmm1, dword [0x1007cda4]
push ecx
movss xmm0, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
addss xmm1, dword [0x1007ccc4]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [esp], xmm2
movss dword [esp + 0x70], xmm0
movss xmm0, dword [edi + esi]
cvttss2si eax, xmm1
movss dword [esp + 0x74], xmm0
movss xmm0, dword [edi + esi + 4]
shl eax, 0x18
or eax, 0xffffff
movss dword [esp + 0x78], xmm0
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.1002a5f0
movss xmm1, dword [edi + esi]
movss xmm0, dword [edi + esi + 4]
subss xmm0, dword [esp + 0x2c]
subss xmm1, dword [esp + 0x10]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x1003b704
sqrtsd xmm0, xmm0
jmp 0x1003b709
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
mov eax, dword [esp + 0xc]
cvtsd2ss xmm0, xmm0
movd xmm1, dword [eax + 8]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1003b7b8
divss xmm0, xmm1
movss xmm1, dword [0x1007ccf8]
movaps xmm2, xmm1
subss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
ja 0x1003b744
movaps xmm0, xmm1
minss xmm0, xmm2
mulss xmm0, dword [0x1007cda4]
push ecx
movss xmm1, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
addss xmm0, dword [0x1007ccc4]
movss dword [esp + 0x7c], xmm1
movss xmm1, dword [esp + 0x30]
movss dword [esp], xmm2
movss dword [esp + 0x80], xmm1
movss xmm1, dword [edi + esi]
cvttss2si eax, xmm0
movss dword [esp + 0x84], xmm1
movss xmm1, dword [edi + esi + 4]
shl eax, 0x18
or eax, 0xffffff
movss dword [esp + 0x88], xmm1
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.1002a5f0
movss xmm1, dword [edi + esi]
movss xmm0, dword [edi + esi + 4]
subss xmm0, dword [esp + 0x34]
subss xmm1, dword [esp + 0x30]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x1003b7ed
sqrtsd xmm0, xmm0
jmp 0x1003b7f2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
mov eax, dword [esp + 0xc]
cvtsd2ss xmm0, xmm0
movd xmm1, dword [eax + 8]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1003b8a8
divss xmm0, xmm1
movss xmm1, dword [0x1007ccf8]
movaps xmm2, xmm1
subss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
ja 0x1003b82d
movaps xmm0, xmm1
minss xmm0, xmm2
mulss xmm0, dword [0x1007cda4]
push ecx
movss xmm1, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
addss xmm0, dword [0x1007ccc4]
movss dword [esp + 0x8c], xmm1
movss xmm1, dword [esp + 0x38]
movss dword [esp], xmm2
movss dword [esp + 0x90], xmm1
movss xmm1, dword [edi + esi]
cvttss2si eax, xmm0
movss dword [esp + 0x94], xmm1
movss xmm1, dword [edi + esi + 4]
shl eax, 0x18
or eax, 0xffffff
movss dword [esp + 0x98], xmm1
push eax
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.1002a5f0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x18]
xor esi, esi
mov edi, dword [eax + 0x14]
mov eax, ecx
sub eax, edi
sar eax, 4
test eax, eax
je 0x1003b9ff
xor edx, edx
mov dword [esp + 0x10], edx
cmp dword [esp + 0x28], esi
je 0x1003b9de
sub ecx, edi
sar ecx, 4
cmp ecx, esi
jbe 0x1003bb49
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
movss xmm1, dword [ecx + eax]
movss xmm0, dword [ecx + eax + 4]
subss xmm0, dword [edi + edx + 4]
subss xmm1, dword [edi + edx]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x1003b918
sqrtsd xmm0, xmm0
jmp 0x1003b91d
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
mov eax, dword [esp + 0xc]
cvtsd2ss xmm0, xmm0
movd xmm1, dword [eax + 8]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1003b9da
divss xmm0, xmm1
movss xmm2, dword [0x1007ccf8]
movaps xmm1, xmm2
subss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm1
ja 0x1003b958
movaps xmm0, xmm2
minss xmm0, xmm1
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mulss xmm0, dword [0x1007cda4]
push ecx
movss xmm2, dword [edi + eax]
movss dword [esp + 0x9c], xmm2
movss xmm2, dword [edi + eax + 4]
mov eax, dword [esp + 0x28]
addss xmm0, dword [0x1007ccc4]
movss dword [esp + 0xa0], xmm2
movss dword [esp], xmm1
movss xmm2, dword [ecx + eax]
movss dword [esp + 0xa4], xmm2
movss xmm2, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x18]
cvttss2si eax, xmm0
movss dword [esp + 0xa8], xmm2
shl eax, 0x18
or eax, 0xffffff
push eax
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0xac]
push eax
call fcn.1002a5f0
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
inc esi
add edx, 0x10
mov dword [esp + 0x10], edx
mov ecx, dword [edi + 0x18]
mov eax, ecx
mov edi, dword [edi + 0x14]
sub eax, edi
sar eax, 4
cmp esi, eax
jb 0x1003b8c5
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
movss xmm1, dword [edi + esi + 8]
movss xmm0, dword [edi + esi + 0xc]
addss xmm1, xmm1
addss xmm0, xmm0
addss xmm1, dword [edi + esi]
addss xmm0, dword [edi + esi + 4]
comiss xmm1, dword [esp + 0x40]
movss dword [edi + esi], xmm1
movss dword [edi + esi + 4], xmm0
jbe 0x1003ba69
movss xmm1, dword [0x1007cd34]
xorps xmm0, xmm0
call fcn.1003b210
cvtss2sd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
andps xmm0, xmmword [0x1007cec0]
xorps xmm0, xmmword [0x1007cee0]
movss dword [edi + esi + 8], xmm0
xorps xmm2, xmm2
comiss xmm2, dword [edi + esi]
jbe 0x1003ba9c
movss xmm1, dword [0x1007cd34]
xorps xmm0, xmm0
call fcn.1003b210
cvtss2sd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
andps xmm0, xmmword [0x1007cec0]
movss dword [edi + esi + 8], xmm0
movss xmm0, dword [edi + esi + 4]
comiss xmm0, dword [esp + 0x44]
jbe 0x1003bada
movss xmm1, dword [0x1007cd34]
xorps xmm0, xmm0
call fcn.1003b210
cvtss2sd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
cvtsd2ss xmm0, xmm0
andps xmm0, xmmword [0x1007cec0]
xorps xmm0, xmmword [0x1007cee0]
movss dword [edi + esi + 0xc], xmm0
xorps xmm0, xmm0
comiss xmm0, dword [edi + esi + 4]
jbe 0x1003bb0b
movss xmm1, dword [0x1007cd34]
call fcn.1003b210
cvtss2sd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
cvtsd2ss xmm0, xmm0
andps xmm0, xmmword [0x1007cec0]
movss dword [edi + esi + 0xc], xmm0
mov edx, dword [esp + 0xc]
add edi, 0x10
inc dword [esp + 0x28]
movss xmm3, dword [esp + 0x18]
movss xmm4, dword [esp + 0x1c]
mov ecx, dword [edx + 0x18]
mov eax, ecx
mov esi, dword [edx + 0x14]
sub eax, esi
mov edx, dword [esp + 0x28]
sar eax, 4
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], esi
cmp edx, eax
jb 0x1003b416
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.1003bc70
int3