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

Disassembly:
sub esp, 0x78
mov eax, dword [0x10a78b80]
xor eax, esp
mov dword [esp + 0x74], eax
movd xmm0, dword [esp + 0x88]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x94]
push ebx
mov ebx, dword [esp + 0x80]
push ebp
push esi
cvtdq2ps xmm0, xmm0
push edi
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x2c], edi
movss dword [edi + 0x1f4], xmm0
test eax, eax
je 0x1045291b
bsr eax, eax
inc eax
jmp 0x1045291d
xor eax, eax
cmp dword [esp + 0xa0], 0
mov ecx, dword [esp + 0x9c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x1f8], xmm0
jl 0x1045294c
jg 0x10452947
cmp ecx, 0x7fffffff
jbe 0x1045294c
mov ecx, closesocket
mov ebp, dword [edx]
xorps xmm0, xmm0
mov eax, dword [edx + 4]
mov dword [esp + 0x20], ebp
add ebp, 0xffffffff
movups xmmword [esp + 0x44], xmm0
adc eax, 0xffffffff
movups xmmword [esp + 0x54], xmm0
test eax, eax
ja 0x10452976
jb 0x1045297e
cmp ebp, 0x3b9ac9fe
jbe 0x1045297e
mov eax, dword [esp + 0x44]
mov dword [esp + 0x20], eax
mov esi, dword [edx + 8]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x24], esi
add esi, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x1045299c
jb 0x104529a4
cmp esi, 0x3b9ac9fe
jbe 0x104529a4
mov eax, dword [esp + 0x48]
mov dword [esp + 0x24], eax
mov ebp, dword [edx + 0x10]
mov eax, dword [edx + 0x14]
mov dword [esp + 0x28], ebp
add ebp, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x104529c2
jb 0x104529ca
cmp ebp, 0x3b9ac9fe
jbe 0x104529ca
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x28], eax
mov esi, dword [edx + 0x18]
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x14], esi
add esi, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x104529e8
jb 0x104529f0
cmp esi, 0x3b9ac9fe
jbe 0x104529f0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0xa8]
mov ebp, dword [edx]
mov eax, dword [edx + 4]
mov dword [esp + 0x18], ebp
add ebp, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x10452a14
jb 0x10452a1c
cmp ebp, 0x3b9ac9fe
jbe 0x10452a1c
mov eax, dword [esp + 0x54]
mov dword [esp + 0x18], eax
mov esi, dword [edx + 8]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x10], esi
add esi, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x10452a3a
jb 0x10452a42
cmp esi, 0x3b9ac9fe
jbe 0x10452a42
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], eax
mov ebp, dword [edx + 0x10]
mov esi, ebp
mov eax, dword [edx + 0x14]
add esi, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x10452a5e
jb 0x10452a62
cmp esi, 0x3b9ac9fe
jbe 0x10452a62
mov ebp, dword [esp + 0x5c]
mov eax, dword [edx + 0x1c]
mov esi, dword [edx + 0x18]
mov edx, esi
add edx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x10452a7e
jb 0x10452a82
cmp edx, 0x3b9ac9fe
jbe 0x10452a82
mov esi, dword [esp + 0x60]
movss xmm1, dword [0x105f14d0]
mov eax, dword [esp + 0x20]
movaps xmm2, xmm1
test eax, eax
jle 0x10452aab
cmp eax, ecx
jge 0x10452aab
movd xmm2, eax
movd xmm0, ecx
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
mov eax, dword [esp + 0x24]
movss dword [edi + 0x1fc], xmm2
movaps xmm2, xmm1
test eax, eax
jle 0x10452ad4
cmp eax, ecx
jge 0x10452ad4
movd xmm2, eax
movd xmm0, ecx
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
mov eax, dword [esp + 0x28]
movss dword [edi + 0x200], xmm2
movaps xmm2, xmm1
test eax, eax
jle 0x10452afd
cmp eax, ecx
jge 0x10452afd
movd xmm2, eax
movd xmm0, ecx
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
mov eax, dword [esp + 0x14]
movss dword [edi + 0x204], xmm2
movaps xmm2, xmm1
test eax, eax
jle 0x10452b26
cmp eax, ecx
jge 0x10452b26
movd xmm2, eax
movd xmm0, ecx
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
mov eax, dword [esp + 0x18]
movss dword [edi + 0x208], xmm2
movaps xmm2, xmm1
test eax, eax
jle 0x10452b4f
cmp eax, ecx
jge 0x10452b4f
movd xmm2, eax
movd xmm0, ecx
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
mov eax, dword [esp + 0x10]
movss dword [edi + 0x20c], xmm2
movaps xmm2, xmm1
test eax, eax
jle 0x10452b78
cmp eax, ecx
jge 0x10452b78
movd xmm2, eax
movd xmm0, ecx
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movss dword [edi + 0x210], xmm2
movaps xmm2, xmm1
test ebp, ebp
jle 0x10452b9d
cmp ebp, ecx
jge 0x10452b9d
movd xmm2, ebp
movd xmm0, ecx
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movss dword [edi + 0x214], xmm2
test esi, esi
jle 0x10452bbf
cmp esi, ecx
jge 0x10452bbf
movd xmm1, esi
movd xmm0, ecx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mov esi, dword [esp + 0x94]
xorps xmm0, xmm0
push 8
push esi
movss dword [edi + 0x218], xmm1
movups xmmword [esp + 0x6c], xmm0
movups xmmword [esp + 0x7c], xmm0
call fcn.10452790
push 9
push esi
mov ebp, eax
call fcn.10452790
mov ecx, dword [ebx + 0x3e7a8]
xor edx, edx
push esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
cmp byte [ecx + 0x4d], dl
sete dl
lea edx, [edx*2 + 1]
push edx
push dword [esp + 0xcc]
push dword [esp + 0xcc]
push dword [ebx + 0x3eee0]
push esi
call fcn.1010fb10
mov eax, dword [esi + 0x28]
lea edx, [esi + 0xe0]
mov ecx, dword [esi + 0x18]
add esp, 0x28
mov edi, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x54], eax
nop
movzx eax, byte [ebp + 0x109bddd0]
imul eax, esi
push 0
push ebp
imul eax, dword [esp + 0x24]
add eax, ecx
mov dword [esp + 0x38], eax
movzx eax, byte [edi + 0x109bddb8]
imul eax, esi
add eax, ecx
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x38]
push eax
push edx
push ebx
call fcn.1010f6b0
push 0
mov dword [esp + esi*4 + 0x7c], eax
lea eax, [esp + 0x5c]
push edi
push eax
push dword [esp + 0x30]
push ebx
call fcn.1010f6b0
mov ecx, dword [esp + 0x3c]
add esp, 0x28
mov edx, dword [esp + 0x10]
mov dword [esp + esi*4 + 0x74], eax
inc esi
cmp esi, 4
jl 0x10452c50
mov eax, dword [esp + 0xac]
inc eax
movss xmm3, dword [0x107a430c]
movss xmm2, dword [0x1058db38]
movaps xmm1, xmm3
mov edi, dword [esp + 0x2c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x64]
inc eax
cvtpd2ps xmm4, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x68]
inc eax
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
maxss xmm1, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movaps xmm1, xmm3
movss dword [edi + 0x21c], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x6c]
inc eax
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
maxss xmm1, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movaps xmm1, xmm3
movss dword [edi + 0x220], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x70]
inc eax
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
maxss xmm1, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movaps xmm1, xmm3
movss dword [edi + 0x224], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x74]
inc eax
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
maxss xmm1, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movaps xmm1, xmm3
movss dword [edi + 0x228], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x78]
inc eax
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
maxss xmm1, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movss dword [edi + 0x22c], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
cvtpd2ps xmm0, xmm0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
inc eax
movaps xmm1, xmm3
divss xmm0, xmm4
maxss xmm1, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movaps xmm1, xmm3
movss dword [edi + 0x230], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x80]
inc eax
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
maxss xmm1, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movss dword [edi + 0x234], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
maxss xmm3, xmm0
minss xmm2, xmm3
movss dword [edi + 0x238], xmm2
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.105116c0
add esp, 0x78
ret