Function at 0x1002b570
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
lea ebp, [esp - 0x1c28]
mov eax, 0x1c28
call fcn.1003d3f0
push 0xffffffffffffffff
push 0x1004079d
mov eax, dword fs:[0]
push eax
sub esp, 0x10
mov eax, dword [0x1004c040]
xor eax, ebp
mov dword [ebp + 0x1c24], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0x1c30]
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
call dword [eax + 0x24]
mov ecx, dword [0x1004c8e0]
mov esi, eax
mov dword [ebp - 0x18], esi
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
mov ecx, dword [0x1004c8ec]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
imul ecx, esi, 0x1ba0
mov dword [ebp - 0x10], eax
imul eax, esi, 0x37400
add ecx, 0x11d4bce8
push ecx
lea ecx, [ebp]
mov dword [ebp - 0x1c], eax
call fcn.10003650
mov dword [ebp - 4], 0
lea edx, [ebp + 0x1ba0]
mov ecx, dword [0x1004c8e0]
mov edi, dword [ebx + 0xf80]
push edx
push esi
mov eax, dword [ecx]
sub edi, 0x94
mov eax, dword [eax + 0x20]
call eax
mov ecx, ebx
call fcn.10002b70
mov ecx, dword [ebp - 0x10]
mov esi, eax
call fcn.10002b70
mov ecx, dword [eax]
cmp ecx, dword [esi]
je 0x1002b91c
cmp dword [ebp - 0x10], ebx
je 0x1002b91c
cmp byte [ebp + 0x1c0c], 0
jne 0x1002b91c
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x1d4]
call eax
test al, al
je 0x1002b91c
test edi, edi
je 0x1002b91c
mov eax, dword [ebx + 0x1020]
mov ecx, dword [0x1004c66c]
mov dword [edi + 0x18], eax
mov eax, dword [ebx + 0x101c]
mov dword [edi + 0x1c], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x11dbaafc]
cmp eax, dword [ecx + 4]
jle 0x1002b823
push 0x11dbaafc
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbaafc], 0xffffffff
jne 0x1002b823
movss xmm1, dword [edi + 0x18]
comiss xmm1, dword [0x10047474]
movaps xmm2, xmm1
movss dword [ebp - 0x10], xmm1
mulss xmm2, dword [0x10047264]
movss dword [ebp - 0x14], xmm2
ja 0x1002b6f3
movss xmm4, dword [0x1004751c]
comiss xmm4, xmm1
ja 0x1002b6f3
xorps xmm3, xmm3
jmp 0x1002b753
xorps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x1002b70b
movaps xmm0, xmm1
mulss xmm0, dword [0x100474f0]
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm1, dword [edi + 0x18]
xorps xmm3, xmm3
movss xmm4, dword [0x1004751c]
add esp, 4
comiss xmm3, xmm1
fstp dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x14]
mulss xmm0, dword [0x100474a0]
jbe 0x1002b74a
addss xmm0, xmm1
movss dword [ebp - 0x10], xmm0
jmp 0x1002b753
subss xmm1, xmm0
movss dword [ebp - 0x10], xmm1
movss xmm1, dword [edi + 0x20]
comiss xmm1, dword [0x10047474]
movaps xmm0, xmm1
mulss xmm0, dword [0x10047264]
movss dword [ebp - 0x14], xmm0
ja 0x1002b776
comiss xmm4, xmm1
jbe 0x1002b7c1
comiss xmm3, xmm0
jbe 0x1002b78b
movaps xmm0, xmm1
mulss xmm0, dword [0x100474f0]
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm1, dword [edi + 0x20]
xorps xmm0, xmm0
fstp dword [ebp - 0x14]
add esp, 4
comiss xmm0, xmm1
movss xmm0, dword [ebp - 0x14]
mulss xmm0, dword [0x100474a0]
jbe 0x1002b7bd
addss xmm1, xmm0
jmp 0x1002b7c1
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x10]
subss xmm0, xmm1
movss dword [ebp - 0x10], xmm0
subss xmm0, dword [0x100474a0]
call fcn.1002b4e0
movss xmm1, dword [ebp - 0x10]
movss xmm2, dword [0x100474a0]
comiss xmm1, xmm2
jbe 0x1002b7fd
comiss xmm0, dword [0x10047474]
jb 0x1002b80e
subss xmm0, xmm2
jmp 0x1002b80e
movss xmm1, dword [0x1004751c]
comiss xmm1, xmm0
jb 0x1002b80e
addss xmm0, xmm2
push 0x11dbaafc
movss dword [0x11dbab04], xmm0
call fcn.1003c55f
add esp, 4
mov eax, dword [ebp - 0x18]
mov ecx, 3
mov eax, dword [eax*4 + 0x1004c950]
cdq
idiv ecx
sub edx, 0
je 0x1002b868
sub edx, 1
je 0x1002b856
sub edx, 1
jne 0x1002b875
movss xmm0, dword [0x11dbab04]
addss xmm0, dword [0x1004744c]
jmp 0x1002b870
movss xmm0, dword [0x11dbab04]
subss xmm0, dword [0x1004744c]
jmp 0x1002b870
movss xmm0, dword [0x11dbab04]
movss dword [edi + 0x24], xmm0
movss xmm1, dword [edi + 0x24]
comiss xmm1, dword [0x10047474]
mov dword [edi + 0x34], 0
mov byte [edi + 0x28], 1
movaps xmm2, xmm1
movss dword [ebp - 0x18], xmm1
mulss xmm2, dword [0x10047264]
movss dword [edi + 0x20], xmm1
movss dword [ebp - 0x10], xmm2
ja 0x1002b8b5
movss xmm0, dword [0x1004751c]
comiss xmm0, xmm1
jbe 0x1002b903
xorps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x1002b8cd
movaps xmm0, xmm1
mulss xmm0, dword [0x100474f0]
movss dword [ebp - 0x10], xmm0
fld dword [ebp - 0x10]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm1, dword [ebp - 0x18]
xorps xmm0, xmm0
fstp dword [ebp - 0x10]
add esp, 4
comiss xmm0, xmm1
movss xmm0, dword [ebp - 0x10]
mulss xmm0, dword [0x100474a0]
jbe 0x1002b8ff
addss xmm1, xmm0
jmp 0x1002b903
subss xmm1, xmm0
mov eax, dword [0x1004db8c]
movss dword [eax*4 + 0x1004d450], xmm1
mov eax, dword [ebp - 0x1c]
movss dword [eax + 0x10f6de88], xmm1
lea ecx, [ebp]
call fcn.10003250
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x1c24]
xor ecx, ebp
call fcn.1003c1fe
lea esp, [ebp + 0x1c28]
pop ebp
ret 4