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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push edi
push esi
push ebx
sub esp, 0xf4
mov esi, ecx
mov edx, dword [ebp + 0x20]
mov edi, dword [ebp + 0x24]
mov dword [esp + 0xb0], esi
test edi, edi
mov dword [esp + 0xb4], eax
lea ebx, [edx - 1]
lea ecx, [edi - 1]
cmove ecx, ebx
mov edi, dword [ebp + 0x14]
xor edx, edx
lea edi, [edi + 1]
mov dword [esp + 0x68], ecx
xor ebx, ebx
cmp esi, edi
mov esi, dword [ebp + 0x20]
mov dword [esp + 0x74], edi
mov dword [esp + 0xac], edx
cmovne ebx, edi
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x6c], ebx
shl ecx, 4
movsd xmm1, qword [ecx + edi]
shl ebx, 4
ucomisd xmm1, qword [ebx + eax]
jp 0x100d961c
je 0x100d9627
movsd xmm0, qword [ecx + edi + 8]
jmp 0x100d96d3
xor eax, eax
lea edx, [esi - 1]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x6c]
mov edi, dword [ebp + 0x18]
movsd xmm0, qword [ecx + edi + 8]
mov ecx, dword [esp + 0xb4]
ucomisd xmm0, qword [ebx + ecx + 8]
jne 0x100da52f
jp 0x100da52f
mov ecx, dword [ebp + 0x1c]
mov ebx, 1
cmp dword [ecx + esi*4], 0xffffffff
lea ecx, [esi - 1]
mov edi, dword [esp + 0xac]
cmovne edi, ebx
mov dword [esp + 0xac], edi
mov edi, dword [ebp + 0x18]
test esi, esi
mov esi, dword [esp + 0x20]
cmovne esi, ecx
inc edx
xor ebx, ebx
cmp edx, dword [esp + 0xb0]
cmove edx, ebx
inc eax
mov ecx, esi
shl ecx, 4
movsd xmm1, qword [ecx + edi]
mov ebx, edx
shl ebx, 4
lea edi, [eax - 1]
cmp edi, dword [ebp + 0x20]
jg 0x100d96bf
mov edi, dword [esp + 0xb4]
ucomisd xmm1, qword [ebx + edi]
jp 0x100d96bf
je 0x100d9638
mov edi, dword [ebp + 0x18]
movsd xmm0, qword [ecx + edi + 8]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], esi
mov esi, dword [ebp + 0x20]
mov eax, dword [esp + 0x68]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x30], xmm0
lea eax, [eax + 1]
xor edx, edx
cmp esi, eax
cmovne edx, eax
mov ecx, edx
shl ecx, 4
movsd xmm0, qword [ecx + edi]
movsd xmm1, qword [ecx + edi + 8]
movsd qword [esp + 0x38], xmm0
movsd qword [esp + 0x40], xmm1
inc edx
cmp esi, edx
jne 0x100d9712
xor eax, eax
jmp 0x100d971a
xor edx, edx
cmp esi, eax
cmove eax, edx
inc eax
shl eax, 4
movsd xmm0, qword [eax + edi]
movsd xmm1, qword [eax + edi + 8]
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x50], xmm1
lea eax, [esp + 0x28]
push 7
push 1
push eax
call fcn.100ad140
fstp qword [esp + 0x84]
mov eax, ebx
mov edx, dword [esp + 0xc0]
movsd xmm0, qword [eax + edx]
movsd xmm1, qword [eax + edx + 8]
movsd qword [esp + 0x54], xmm0
movsd qword [esp + 0x5c], xmm1
push 7
push 1
lea ecx, [esp + 0x3c]
push ecx
call fcn.100ad140
fstp qword [esp + 0x98]
add esp, 0x18
movsd xmm0, qword [esp + 0x80]
pxor xmm1, xmm1
ucomisd xmm0, xmm1
jp 0x100d979a
je 0x100da387
mov ecx, dword [ebp + 0x24]
lea ebx, [esi - 1]
lea edx, [ecx - 1]
test ecx, ecx
cmove edx, ebx
mov ecx, dword [esp + 0xb0]
lea ecx, [ecx - 1]
mov ebx, dword [ebp + 0x14]
lea eax, [ebx - 1]
test ebx, ebx
cmove eax, ecx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x24], eax
mov ecx, edx
shl ecx, 4
movsd xmm1, qword [ecx + edi]
shl eax, 4
ucomisd xmm1, qword [eax + ebx]
mov dword [esp + 0x20], eax
jp 0x100d97e2
je 0x100d97ed
movsd xmm0, qword [ecx + edi + 8]
jmp 0x100d98ac
xor eax, eax
lea ebx, [esi - 1]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0xb0]
lea ebx, [ebx - 1]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x24]
mov edi, dword [ebp + 0x18]
movsd xmm0, qword [ecx + edi + 8]
mov ecx, dword [esp + 0xb4]
ucomisd xmm0, qword [esi + ecx + 8]
jne 0x100da374
jp 0x100da374
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + edx*4], 0xffffffff
je 0x100d9851
mov ecx, 1
cmp dword [ebp + 0x28], 0
mov esi, dword [esp + 0xac]
cmove esi, ecx
mov dword [esp + 0xac], esi
mov edi, dword [ebp + 0x18]
lea ecx, [edx - 1]
test edx, edx
mov edx, dword [esp + 0x64]
cmovne edx, ecx
lea esi, [ebx - 1]
test ebx, ebx
mov ecx, edx
mov ebx, dword [esp + 0x58]
cmovne ebx, esi
inc eax
shl ecx, 4
movsd xmm1, qword [ecx + edi]
mov esi, ebx
shl esi, 4
lea edi, [eax - 1]
cmp edi, dword [ebp + 0x20]
jg 0x100d9898
mov edi, dword [esp + 0xb4]
ucomisd xmm1, qword [esi + edi]
jp 0x100d9898
je 0x100d980c
mov edi, dword [ebp + 0x18]
movsd xmm0, qword [ecx + edi + 8]
mov dword [esp + 0x20], esi
mov esi, dword [ebp + 0x20]
mov dword [esp + 0x24], ebx
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x30], xmm0
lea ecx, [edx + 1]
xor eax, eax
cmp esi, ecx
cmovne eax, ecx
mov ebx, eax
shl ebx, 4
movsd xmm0, qword [ebx + edi]
movsd xmm1, qword [ebx + edi + 8]
movsd qword [esp + 0x38], xmm0
movsd qword [esp + 0x40], xmm1
inc eax
cmp esi, eax
mov eax, ecx
jne 0x100d98e9
xor eax, eax
jmp 0x100d98f1
xor ecx, ecx
cmp esi, eax
cmove eax, ecx
inc eax
shl eax, 4
cmp edx, dword [esp + 0x68]
movsd xmm1, qword [eax + edi]
movsd xmm0, qword [eax + edi + 8]
jne 0x100d9913
movsd xmm0, qword [esp + 0x78]
movsd qword [esp + 0x68], xmm0
jmp 0x100d9934
movsd qword [esp + 0x50], xmm0
movsd qword [esp + 0x48], xmm1
push 7
push 1
lea eax, [esp + 0x30]
push eax
call fcn.100ad140
fstp qword [esp + 0x74]
add esp, 0xc
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xb4]
movsd xmm0, qword [eax + edx]
movsd xmm1, qword [eax + edx + 8]
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x50], xmm1
push 7
push 1
lea ecx, [esp + 0x30]
push ecx
call fcn.100ad140
fstp qword [esp + 0x94]
add esp, 0xc
movsd xmm0, qword [esp + 0x88]
pxor xmm1, xmm1
ucomisd xmm0, xmm1
jp 0x100d9987
je 0x100da1e9
mov ebx, dword [ebp + 0x24]
mov eax, dword [esp + 0x74]
lea ebx, [ebx + 1]
xor ecx, ecx
xor edx, edx
cmp esi, ebx
cmovne edx, ebx
cmp eax, dword [esp + 0xb0]
cmove eax, ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xa8], edx
mov dword [esp + 0x74], eax
shl edx, 4
movsd xmm1, qword [edx + edi]
shl eax, 4
ucomisd xmm1, qword [eax + ecx]
mov dword [esp + 0x20], eax
jp 0x100d99ce
je 0x100d99d9
movsd xmm0, qword [edx + edi + 8]
jmp 0x100d9a99
mov ecx, eax
mov esi, dword [esp + 0xa8]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x74]
xor eax, eax
mov edi, dword [ebp + 0x18]
movsd xmm0, qword [edx + edi + 8]
mov edx, dword [esp + 0xb4]
ucomisd xmm0, qword [ecx + edx + 8]
jne 0x100da1cb
jp 0x100da1cb
mov edx, dword [ebp + 0x1c]
cmp dword [edx + esi*4], 0xffffffff
je 0x100d9a2e
mov edx, dword [ebp + 0x28]
mov ecx, dword [esp + 0xac]
cmp edx, 1
cmove ecx, edx
mov dword [esp + 0xac], ecx
mov ecx, dword [ebp + 0x20]
mov edi, dword [ebp + 0x18]
inc esi
xor edx, edx
cmp ecx, esi
cmove esi, edx
inc ebx
inc eax
cmp ebx, dword [esp + 0xb0]
cmove ebx, edx
mov edx, esi
shl edx, 4
movsd xmm1, qword [edx + edi]
mov edi, ebx
shl edi, 4
mov dword [esp + 0x20], edi
lea edi, [eax - 1]
cmp ecx, edi
mov ecx, dword [esp + 0x20]
jl 0x100d9a7a
mov edi, dword [esp + 0xb4]
ucomisd xmm1, qword [ecx + edi]
jp 0x100d9a7a
je 0x100d99ec
mov edi, dword [ebp + 0x18]
movsd xmm0, qword [edx + edi + 8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xa8], esi
mov esi, dword [ebp + 0x20]
mov eax, dword [esp + 0xa8]
lea edx, [esi - 1]
lea ecx, [eax - 1]
test eax, eax
cmove ecx, edx
test ecx, ecx
jne 0x100d9ab4
lea ecx, [esi - 1]
jmp 0x100d9ac0
lea edx, [esi - 1]
lea ecx, [eax - 1]
test eax, eax
cmove ecx, edx
dec ecx
movsd qword [esp + 0x48], xmm1
movsd qword [esp + 0x50], xmm0
shl ecx, 4
movsd xmm2, qword [ecx + edi]
movsd xmm3, qword [ecx + edi + 8]
movsd qword [esp + 0x28], xmm2
movsd qword [esp + 0x30], xmm3
lea edx, [esi - 1]
lea ecx, [eax - 1]
test eax, eax
cmove ecx, edx
shl ecx, 4
movsd xmm4, qword [ecx + edi]
movsd xmm5, qword [ecx + edi + 8]
movsd qword [esp + 0x38], xmm4
movsd qword [esp + 0x40], xmm5
push 7
push 1
lea eax, [esp + 0x30]
push eax
call fcn.100ad140
fstp qword [esp + 0x9c]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0xc0]
movsd xmm0, qword [eax + edx]
movsd xmm1, qword [eax + edx + 8]
movsd qword [esp + 0x54], xmm0
movsd qword [esp + 0x5c], xmm1
push 7
push 1
lea ecx, [esp + 0x3c]
push ecx
call fcn.100ad140
fstp qword [esp + 0xb8]
movsd xmm1, qword [esp + 0xb8]
add esp, 0x18
pxor xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x100d9b73
je 0x100da011
mov ecx, dword [esp + 0xb0]
xor edx, edx
cmp esi, ebx
cmove ebx, edx
mov edx, dword [ebp + 0x14]
lea ecx, [ecx - 1]
lea eax, [edx - 1]
test edx, edx
cmove eax, ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x64], eax
mov edx, ebx
shl edx, 4
movsd xmm2, qword [edx + edi]
shl eax, 4
ucomisd xmm2, qword [eax + ecx]
mov dword [esp + 0x24], eax
jp 0x100d9bb4
je 0x100d9bbf
movsd xmm0, qword [edx + edi + 8]
jmp 0x100d9c77
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0x64]
xor eax, eax
lea ecx, [ecx - 1]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov edi, dword [ebp + 0x18]
movsd xmm0, qword [edx + edi + 8]
mov edx, dword [esp + 0xb4]
ucomisd xmm0, qword [ecx + edx + 8]
jne 0x100d9ffe
jp 0x100d9ffe
mov edx, dword [ebp + 0x1c]
mov edi, 1
cmp dword [edx + ebx*4], 0xffffffff
mov ecx, dword [esp + 0xac]
cmovne ecx, edi
xor edx, edx
inc ebx
lea edi, [esi - 1]
mov dword [esp + 0xac], ecx
mov ecx, dword [ebp + 0x20]
cmp ecx, ebx
cmove ebx, edx
test esi, esi
mov edx, ebx
mov esi, dword [esp + 0x20]
cmovne esi, edi
inc eax
shl edx, 4
mov edi, dword [ebp + 0x18]
movsd xmm2, qword [edx + edi]
mov edi, esi
shl edi, 4
mov dword [esp + 0x24], edi
lea edi, [eax - 1]
cmp ecx, edi
mov ecx, dword [esp + 0x24]
jl 0x100d9c63
mov edi, dword [esp + 0xb4]
ucomisd xmm2, qword [ecx + edi]
jp 0x100d9c63
je 0x100d9bd7
mov edi, dword [ebp + 0x18]
movsd xmm0, qword [edx + edi + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x64], esi
mov esi, dword [ebp + 0x20]
lea eax, [esi - 1]
lea edx, [ebx - 1]
test ebx, ebx
cmove edx, eax
test edx, edx
jne 0x100d9c8b
lea edx, [esi - 1]
jmp 0x100d9c97
lea eax, [esi - 1]
lea edx, [ebx - 1]
test ebx, ebx
cmove edx, eax
dec edx
shl edx, 4
movsd xmm3, qword [edx + edi]
movsd xmm4, qword [edx + edi + 8]
movsd qword [esp + 0x28], xmm3
movsd qword [esp + 0x30], xmm4
lea eax, [esi - 1]
lea edx, [ebx - 1]
test ebx, ebx
cmove edx, eax
shl edx, 4
movsd xmm5, qword [edx + edi]
cmp ebx, dword [esp + 0xa8]
movsd xmm6, qword [edx + edi + 8]
movsd qword [esp + 0x38], xmm5
movsd qword [esp + 0x40], xmm6
jne 0x100d9cf0
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x70], xmm0
jmp 0x100d9d23
movsd qword [esp + 0x50], xmm0
movsd qword [esp + 0x48], xmm2
push 7
push 1
lea eax, [esp + 0x30]
push eax
movsd qword [esp + 0xa4], xmm1
call fcn.100ad140
movsd xmm1, qword [esp + 0xa4]
fstp qword [esp + 0x7c]
add esp, 0xc
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0xb4]
movsd xmm0, qword [eax + edx]
movsd xmm2, qword [eax + edx + 8]
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x50], xmm2
push 7
push 1
lea ecx, [esp + 0x30]
push ecx
movsd qword [esp + 0xa4], xmm1
call fcn.100ad140
movsd xmm1, qword [esp + 0xa4]
fstp qword [esp + 0xac]
movsd xmm0, qword [esp + 0xac]
add esp, 0xc
pxor xmm2, xmm2
ucomisd xmm0, xmm2
jp 0x100d9d88
je 0x100d9e6c
cmp dword [ebp + 0x28], 1
je 0x100d9e15
cmplesd xmm0, qword [esp + 0x70]
movsd xmm2, qword [esp + 0x80]
cmplesd xmm2, qword [esp + 0x78]
movsd xmm3, qword [esp + 0x88]
cmplesd xmm3, qword [esp + 0x68]
movsd xmm4, qword [esp + 0x90]
movd edx, xmm2
neg edx
movd ecx, xmm3
neg ecx
lea eax, [edx + ecx]
lea ebx, [edx + ecx + 1]
comisd xmm4, xmm1
cmovae eax, ebx
movd esi, xmm0
neg esi
add eax, esi
cmp eax, 4
je 0x100d9df8
cmp eax, 3
jne 0x100d9dff
cmp dword [esp + 0xac], 0
je 0x100d9dff
mov eax, 1
jmp 0x100d9e01
xor eax, eax
mov edx, dword [ebp + 0x2c]
mov dword [edx], eax
xor eax, eax
add esp, 0xf4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
movsd xmm2, qword [esp + 0x78]
cmplesd xmm2, qword [esp + 0x80]
movsd xmm3, qword [esp + 0x68]
cmplesd xmm3, qword [esp + 0x88]
movd edx, xmm2
neg edx
movd ecx, xmm3
neg ecx
comisd xmm1, xmmword [esp + 0x90]
movsd xmm1, qword [esp + 0x70]
lea eax, [edx + ecx]
lea ebx, [edx + ecx + 1]
cmovae eax, ebx
cmplesd xmm1, xmm0
movd esi, xmm1
neg esi
add eax, esi
jmp 0x100d9de4
movsd xmm2, qword [esp + 0x28]
ucomisd xmm2, qword [esp + 0x48]
jp 0x100d9e80
je 0x100d9fcf
cmp dword [esp + 0xb0], 0
jl 0x100d9d88
mov eax, dword [esp + 0xb0]
mov edi, dword [esp + 0x64]
movsd qword [esp + 0x98], xmm1
movsd qword [esp + 0x20], xmm0
xor ebx, ebx
lea edx, [eax - 1]
mov dword [esp + 0x58], edx
mov eax, dword [esp + 0xb4]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x10], edx
inc ebx
mov dword [esp + 0x18], closesocket
mov dword [esp + 0x14], ecx
mov esi, edi
shl esi, 4
movsd xmm0, qword [esi + eax]
movsd xmm1, qword [esi + eax + 8]
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
lea eax, [esp + 0x5c]
mov dword [esp + 0x1c], eax
call fcn.100af680
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0xb4]
movsd xmm1, qword [0x101e68d8]
movsd xmm0, qword [esi + ecx]
movsd xmm2, qword [esi + ecx + 8]
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x18], closesocket
mov dword [esp + 0x10], esi
lea edx, [edi + 1]
xor eax, eax
cmp edx, dword [esp + 0xb0]
cmove edx, eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x14], eax
shl edx, 4
addsd xmm0, qword [edx + ecx]
mulsd xmm0, xmm1
addsd xmm2, qword [edx + ecx + 8]
movsd qword [esp], xmm0
mulsd xmm2, xmm1
movsd qword [esp + 8], xmm2
lea edx, [esp + 0x60]
mov dword [esp + 0x1c], edx
call fcn.100af680
cmp dword [esp + 0x5c], 0
jne 0x100d9fa3
cmp dword [esp + 0x60], 0
jne 0x100d9fa3
lea eax, [edi - 1]
test edi, edi
mov edi, dword [esp + 0x58]
cmovne edi, eax
cmp ebx, dword [esp + 0xb0]
jle 0x100d9eb1
movsd xmm1, qword [esp + 0x98]
movsd xmm0, qword [esp + 0x20]
jmp 0x100d9d88
movsd xmm1, qword [esp + 0x98]
movsd xmm0, qword [esp + 0x20]
mov edx, dword [esp + 0x64]
test edx, edx
je 0x100d9fc2
test eax, eax
jne 0x100d9d88
movsd xmm0, qword [0x101e68d0]
jmp 0x100d9d88
movsd xmm2, qword [esp + 0x30]
ucomisd xmm2, qword [esp + 0x50]
jne 0x100d9e80
jp 0x100d9e80
cmp dword [ebp + 0x28], 1
jne 0x100d9d92
movsd xmm0, qword [0x101e68d0]
jmp 0x100d9e15
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x64], esi
mov esi, dword [ebp + 0x20]
jmp 0x100d9c77
movsd xmm0, qword [esp + 0x28]
ucomisd xmm0, qword [esp + 0x48]
jp 0x100da025
je 0x100da199
cmp dword [esp + 0xb0], 0
jl 0x100d9b73
mov edx, dword [esp + 0xb0]
movsd qword [esp + 0x98], xmm1
xor eax, eax
mov dword [esp + 0x70], ebx
lea edx, [edx - 1]
mov dword [esp + 0x24], edx
mov ebx, eax
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0xb4]
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0x20]
inc ebx
shl edx, 4
movsd xmm0, qword [edx + ecx]
movsd xmm1, qword [edx + ecx + 8]
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
mov dword [esp + 0x18], closesocket
mov dword [esp + 0x58], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
lea edx, [esp + 0x5c]
mov dword [esp + 0x1c], edx
call fcn.100af680
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0xb4]
movsd xmm1, qword [0x101e68d8]
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x58]
movsd xmm0, qword [ebx + edi]
movsd xmm2, qword [ebx + edi + 8]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x18], closesocket
lea esi, [edx - 1]
test edx, edx
mov eax, ecx
cmovne eax, esi
cmove esi, ecx
mov edx, dword [ebp + 0x20]
shl eax, 4
addsd xmm0, qword [eax + edi]
mov eax, dword [ebp + 0x18]
mulsd xmm0, xmm1
movsd qword [esp], xmm0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
shl esi, 4
addsd xmm2, qword [esi + edi + 8]
mulsd xmm2, xmm1
movsd qword [esp + 8], xmm2
lea ecx, [esp + 0x60]
mov dword [esp + 0x1c], ecx
call fcn.100af680
cmp dword [esp + 0x5c], 0
jne 0x100da169
cmp dword [esp + 0x60], 0
jne 0x100da169
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0xb0]
inc ecx
xor edx, edx
cmp esi, ecx
cmove ecx, edx
mov dword [esp + 0x74], ecx
cmp ebx, esi
jle 0x100da052
movsd xmm1, qword [esp + 0x98]
mov ebx, dword [esp + 0x70]
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp + 0x18]
jmp 0x100d9b73
movsd xmm1, qword [esp + 0x98]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x70]
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp + 0x18]
test edx, edx
je 0x100da18c
test eax, eax
jne 0x100d9b73
movsd xmm1, qword [0x101e68d0]
jmp 0x100d9b73
movsd xmm0, qword [esp + 0x30]
ucomisd xmm0, qword [esp + 0x50]
jne 0x100da025
jp 0x100da025
cmp dword [ebp + 0x28], 1
movsd xmm0, qword [0x101e68d0]
jne 0x100d9b73
movaps xmm1, xmm0
jmp 0x100d9b73
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xa8], esi
mov esi, dword [ebp + 0x20]
jmp 0x100d9a99
movsd xmm0, qword [esp + 0x28]
ucomisd xmm0, qword [esp + 0x48]
jp 0x100da1fd
je 0x100da334
cmp dword [esp + 0xb0], 0
jl 0x100d9987
mov eax, dword [esp + 0xb0]
mov edi, dword [esp + 0x24]
xor ebx, ebx
lea edx, [eax - 1]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0xb4]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x10], edx
inc ebx
mov dword [esp + 0x18], closesocket
mov dword [esp + 0x14], ecx
mov esi, edi
shl esi, 4
movsd xmm0, qword [esi + eax]
movsd xmm1, qword [esi + eax + 8]
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
lea eax, [esp + 0x5c]
mov dword [esp + 0x1c], eax
call fcn.100af680
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0xb4]
movsd xmm1, qword [0x101e68d8]
movsd xmm0, qword [esi + ecx]
movsd xmm2, qword [esi + ecx + 8]
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x18], closesocket
mov dword [esp + 0x10], esi
lea edx, [edi + 1]
xor eax, eax
cmp edx, dword [esp + 0xb0]
cmove edx, eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x14], eax
shl edx, 4
addsd xmm0, qword [edx + ecx]
mulsd xmm0, xmm1
addsd xmm2, qword [edx + ecx + 8]
movsd qword [esp], xmm0
mulsd xmm2, xmm1
movsd qword [esp + 8], xmm2
lea edx, [esp + 0x60]
mov dword [esp + 0x1c], edx
call fcn.100af680
cmp dword [esp + 0x5c], 0
jne 0x100da308
cmp dword [esp + 0x60], 0
jne 0x100da308
lea eax, [edi - 1]
test edi, edi
mov edi, dword [esp + 0x20]
cmovne edi, eax
cmp ebx, dword [esp + 0xb0]
jle 0x100da21f
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp + 0x18]
jmp 0x100d9987
mov edx, dword [esp + 0x24]
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp + 0x18]
test edx, edx
je 0x100da31e
test eax, eax
jne 0x100d9987
movsd xmm0, qword [0x101e68d0]
movsd qword [esp + 0x88], xmm0
jmp 0x100d9987
movsd xmm0, qword [esp + 0x30]
ucomisd xmm0, qword [esp + 0x50]
jne 0x100da1fd
jp 0x100da1fd
cmp dword [ebp + 0x28], 1
movsd xmm0, qword [0x101e68d0]
movsd xmm1, qword [esp + 0x88]
jne 0x100da366
movaps xmm1, xmm0
movsd qword [esp + 0x88], xmm1
jmp 0x100d9987
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x20], esi
mov esi, dword [ebp + 0x20]
mov dword [esp + 0x24], ebx
jmp 0x100d98ac
movsd xmm0, qword [esp + 0x28]
ucomisd xmm0, qword [esp + 0x48]
jp 0x100da39b
je 0x100da4ef
cmp dword [esp + 0xb0], 0
jl 0x100d979a
mov eax, dword [esp + 0xb0]
xor ebx, ebx
lea edx, [eax - 1]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov ecx, dword [ebp + 0x18]
mov esi, dword [ebp + 0x20]
inc ebx
shl eax, 4
movsd xmm0, qword [eax + edx]
movsd xmm1, qword [eax + edx + 8]
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
mov dword [esp + 0x18], closesocket
mov dword [esp + 0x58], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
lea edi, [esp + 0x5c]
mov dword [esp + 0x1c], edi
call fcn.100af680
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0xb4]
movsd xmm1, qword [0x101e68d8]
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x58]
movsd xmm0, qword [ebx + edi]
movsd xmm2, qword [ebx + edi + 8]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x18], closesocket
lea esi, [edx - 1]
test edx, edx
mov eax, ecx
cmovne eax, esi
cmove esi, ecx
mov edx, dword [ebp + 0x20]
shl eax, 4
addsd xmm0, qword [eax + edi]
mov eax, dword [ebp + 0x18]
mulsd xmm0, xmm1
movsd qword [esp], xmm0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
shl esi, 4
addsd xmm2, qword [esi + edi + 8]
mulsd xmm2, xmm1
movsd qword [esp + 8], xmm2
lea ecx, [esp + 0x60]
mov dword [esp + 0x1c], ecx
call fcn.100af680
cmp dword [esp + 0x5c], 0
jne 0x100da4c3
cmp dword [esp + 0x60], 0
jne 0x100da4c3
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0xb0]
inc edx
xor eax, eax
cmp ecx, edx
cmove edx, eax
mov dword [esp + 0x6c], edx
cmp ebx, ecx
jle 0x100da3b9
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp + 0x18]
jmp 0x100d979a
mov edx, dword [esp + 0x20]
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp + 0x18]
test edx, edx
je 0x100da4d9
test eax, eax
jne 0x100d979a
movsd xmm0, qword [0x101e68d0]
movsd qword [esp + 0x80], xmm0
jmp 0x100d979a
movsd xmm0, qword [esp + 0x30]
ucomisd xmm0, qword [esp + 0x50]
jne 0x100da39b
jp 0x100da39b
cmp dword [ebp + 0x28], 1
movsd xmm0, qword [0x101e68d0]
movsd xmm1, qword [esp + 0x80]
jne 0x100da521
movaps xmm1, xmm0
movsd qword [esp + 0x80], xmm1
jmp 0x100d979a
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], esi
mov esi, dword [ebp + 0x20]
jmp 0x100d96d3