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

Disassembly:
sub esp, 0xa0
mov eax, dword [0x1008c00c]
xor eax, esp
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xa4]
push ebx
push ebp
push esi
push edi
mov edi, dword [0x10090d48]
xor ebx, ebx
mov dword [esp + 0x28], eax
inc ebx
mov eax, dword [esp + 0xc0]
mov esi, edx
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x3e28]
movss dword [esp + 0x44], xmm3
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], ecx
mov byte [eax + 0xa8], bl
mov eax, dword [edi + 0x3e28]
mov dword [esp + 0x38], eax
cmp byte [eax + 0xab], 0
jne 0x10053123
push ecx
push ecx
mov ecx, eax
call fcn.100065cf
mov ebp, eax
call fcn.10010350
mov edx, dword [esp + 0x2c]
push ecx
mov dword [esp], 0xbf800000
lea ecx, [esp + 0x34]
push ebx
push 0
movss dword [esp + 0x28], xmm0
call fcn.10008639
movss xmm3, dword [edi + 0x37d8]
xorps xmm4, xmm4
mov eax, dword [esp + 0x44]
movaps xmm1, xmm3
movss xmm2, dword [esp + 0x28]
addss xmm1, xmm3
movss xmm5, dword [esp + 0x3c]
add esp, 0xc
comiss xmm5, xmm4
mov ecx, dword [eax + 0xec]
addss xmm1, dword [esp + 0x34]
addss xmm2, dword [eax + 0xec]
addss xmm1, dword [eax + 0xf0]
mov dword [esp + 0x48], ecx
mov eax, dword [eax + 0xf0]
mov dword [esp + 0x4c], eax
movss dword [esp + 0x50], xmm2
movss dword [esp + 0x54], xmm1
jbe 0x10052ce9
movss xmm0, dword [edi + 0x37ec]
addss xmm0, xmm5
jmp 0x10052cec
xorps xmm0, xmm0
addss xmm1, xmm4
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xc4]
addss xmm2, xmm0
shr eax, 7
not al
mov dword [esp + 0x58], ecx
and al, bl
lea ecx, [esp + 0x3c]
movss dword [esp + 0x64], xmm1
subss xmm1, dword [esp + 0x4c]
movss dword [esp + 0x60], xmm2
subss xmm2, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
movss dword [esp + 0x40], xmm1
movaps xmm1, xmm3
movss dword [esp + 0x3c], xmm2
call fcn.1000fcb8
mov ecx, dword [esp + 0x1c]
mov edx, ebp
movzx eax, cl
lea ecx, [esp + 0x58]
shl eax, 0xa
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1000fe07
pop ecx
pop ecx
test al, al
je 0x10053123
cmp dword [esp + 0x20], 0
jne 0x10052d79
mov eax, esi
shl eax, 4
mov eax, dword [eax + 0x100785f8]
mov dword [esp + 0x20], eax
mov edx, ebp
lea ecx, [esp + 0x48]
call fcn.10006b68
mov esi, dword [0x10090d48]
mov cl, al
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x19], cl
test al, al
je 0x10052dac
cmp dword [esi + 0x3e74], ebp
jne 0x10052dac
cmp dword [esi + 0x5940], ebp
je 0x10052ef5
mov byte [esp + 0x16], 0
test al, al
je 0x10052dc5
test dword [edi + 0x46a4], 0x100
mov byte [esp + 0x18], bl
jne 0x10052dca
mov byte [esp + 0x18], 0
test cl, cl
je 0x10052de2
push 0
mov edx, ebp
xor ecx, ecx
call fcn.1000e4a3
mov byte [esp + 0x1b], bl
pop ecx
test al, al
jne 0x10052de7
mov byte [esp + 0x17], 0
cmp byte [esp + 0x19], 0
je 0x10052e0c
cmp word [edi + 0x3702], 2
jne 0x10052e0c
mov edx, ebp
mov ecx, 0x281
call fcn.1000fb06
test al, al
je 0x10052e0c
mov al, bl
jmp 0x10052e0e
xor al, al
mov dl, byte [esp + 0x18]
mov cl, byte [esp + 0x17]
mov byte [esp + 0x1b], al
test dl, dl
jne 0x10052f5b
test cl, cl
jne 0x10052f5b
test al, al
jne 0x10052f5b
cmp dword [edi + 0x47b4], ebp
je 0x10052f5b
cmp dword [edi + 0x47c0], ebp
je 0x10052f5b
xor ah, ah
mov al, byte [esp + 0x16]
cmp byte [edi + 0x65], 0
je 0x10052eba
cmp byte [esp + 0x1c], 0
je 0x10052eba
test al, al
jne 0x10052eba
cmp dword [edi + 0x3e74], ebp
jne 0x10052eba
cmp byte [esp + 0x19], al
je 0x10052eba
cmp byte [edi + 0x3716], al
je 0x10052eba
movss xmm1, dword [edi + 0x30]
xorps xmm0, xmm0
mulss xmm1, dword [0x100884b0]
comiss xmm0, xmm1
jbe 0x10052e91
movss xmm1, dword [esi + 0x30]
movss xmm0, dword [esi + 0x3750]
mulss xmm1, xmm1
comiss xmm0, xmm1
jae 0x10052eba
mov al, bl
mov dword [edi + 0x47c0], ebp
mov dword [edi + 0x47b4], ebp
mov dword [edi + 0x47c4], ebx
mov byte [esp + 0x16], al
test ah, ah
je 0x10052eed
test al, al
jne 0x10052ef5
mov esi, dword [esp + 0x38]
mov ecx, ebp
mov edx, esi
call fcn.10006863
mov edx, esi
mov ecx, ebp
call fcn.10011f21
mov ecx, esi
call fcn.1000d1fa
mov al, byte [esp + 0x16]
mov dword [edi + 0x4670], 3
test al, al
je 0x10052fb7
test byte [esp + 0xc4], 0x10
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xb8]
je 0x10052f26
test edi, edi
je 0x10052f28
test esi, esi
je 0x10052f28
mov ecx, dword [esp + 0x24]
mov edx, edi
push esi
call fcn.10052551
pop ecx
test eax, eax
js 0x10052f28
xor bl, bl
xor eax, eax
lea ecx, [esp + 0x48]
test bl, bl
mov edx, ebp
cmovne eax, esi
push eax
xor eax, eax
test bl, bl
cmovne eax, edi
push eax
push dword [esp + 0x28]
push dword [esp + 0x34]
push dword [esp + 0x34]
push dword [esp + 0x40]
call fcn.10054707
add esp, 0x18
jmp 0x10053125
mov ah, bl
test cl, cl
jne 0x10052f65
test al, al
je 0x10052f81
push ecx
mov edx, ebp
mov ecx, 0x281
call fcn.1000fb60
mov al, byte [esp + 0x1f]
mov ah, bl
mov dl, byte [esp + 0x1c]
pop ecx
mov cl, byte [esp + 0x17]
cmp byte [esp + 0x1c], 0
je 0x10052e4c
test dl, dl
jne 0x10052fac
test cl, cl
je 0x10052f9c
cmp byte [edi + 0xdd0], dl
jne 0x10052fac
test al, al
jne 0x10052fac
cmp dword [edi + 0x47c0], ebp
jne 0x10052e4c
mov al, bl
mov byte [esp + 0x16], al
jmp 0x10052e50
movss xmm1, dword [0x10088500]
xor ecx, ecx
cmp byte [esp + 0x19], cl
push 9
setne cl
add ecx, 7
cmp dword [edi + 0x3e74], ebp
pop eax
cmove ecx, eax
call fcn.10004763
push ebx
mov edx, ebp
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.10005595
movss xmm2, dword [edi + 0x37dc]
mov dl, bl
pop ecx
push dword [esp + 0x54]
mov ecx, esi
push dword [esp + 0x54]
push dword [esp + 0x54]
push dword [esp + 0x54]
call fcn.100053a5
push dword [esp + 0xd4]
mov esi, dword [esp + 0x38]
mov ecx, ebp
push dword [esp + 0x34]
movss xmm3, dword [esp + 0x5c]
mov edx, esi
push dword [esp + 0xd4]
push dword [esp + 0xd4]
push dword [esp + 0x48]
call fcn.1005285b
add esp, 0x24
mov byte [esp + 0x1a], al
test al, al
je 0x10053060
mov ecx, dword [0x10090d48]
or dword [ecx + 0x46a4], 4
mov byte [ecx + 0x3e85], bl
mov byte [ecx + 0x3e84], bl
push dword [esp + 0x20]
lea ecx, [esp + 0x6c]
push dword [esp + 0x2c]
push esi
push 0x40
pop edx
call fcn.10051ef9
lea ecx, [esp + 0x74]
add esp, 0xc
add ecx, eax
cmp byte [edi + 0x5a50], 0
je 0x100530a0
mov eax, dword [0x10090d48]
mov dword [eax + 0x5a68], 0x10087a4c
mov dword [eax + 0x5a6c], 0x10087a48
push 0
lea eax, [esp + 0x40]
mov dword [esp + 0x40], 0x3f000000
push eax
push 0
push ecx
lea eax, [esp + 0x78]
mov dword [esp + 0x50], 0x3f000000
push eax
lea edx, [esp + 0x64]
lea ecx, [esp + 0x5c]
call fcn.10004fdc
movss xmm0, dword [esp + 0x44]
add esp, 0x14
comiss xmm0, dword [0x10088424]
jbe 0x1005311d
movss xmm0, dword [edi + 0x37ec]
xor edx, edx
addss xmm0, dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [edi + 0x37d8]
addss xmm0, dword [esp + 0x4c]
movss dword [esp + 0x34], xmm0
push dword [esp + 0x34]
push dword [esp + 0x34]
push ebx
call fcn.10004d36
add esp, 0xc
mov al, byte [esp + 0x1a]
jmp 0x10053125
xor al, al
mov ecx, dword [esp + 0xac]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1006dac1
add esp, 0xa0
ret