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

Disassembly:
sub esp, 0x24
mov edx, dword [esp + 0x40]
push ebx
push ebp
mov ebp, dword [esp + 0x34]
mov bl, byte [edx + 0x1080825c]
add ebp, 0xe0
mov bh, byte [edx + 0x10808274]
push esi
mov esi, dword [esp + 0x34]
mov eax, dword [ebp + 0xfd0]
add esi, 0x3abf0
cmp bl, bh
movzx ecx, bl
push edi
mov dword [esp + 0x14], esi
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
movzx eax, bh
cmovae ecx, eax
cmp ecx, 8
jb 0x1016d690
mov edi, edx
xor eax, eax
shl edi, 4
cmp al, 2
je 0x1016d64a
cmp al, 3
jne case.default.0x1016d663
cmp bl, bh
movzx ecx, bl
movzx edx, bh
cmovb edx, ecx
movzx esi, al
cmp dl, 8
sbb ecx, ecx
inc ecx
cmp esi, 3
ja case.default.0x1016d663
jmp dword [esi*4 + 0x1016d860]
cmp dl, 8
jb 0x1016d67c
cmp dword [edi + 0x10670d90], 0
jg 0x1016d716
xor ecx, ecx
test ecx, ecx
jne 0x1016d716
inc eax
cmp eax, 4
jl 0x1016d642
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], 0
mov eax, dword [esi + 0x3bb8]
xor ebx, ebx
mov edi, dword [esp + 0x48]
mov al, byte [eax + 0x4d]
test al, al
mov byte [esp + 0x13], al
mov eax, dword [ebp]
sete bl
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 4]
xor edx, edx
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x1c8]
cmp eax, 4
mov esi, dword [esp + 0x44]
lea ebx, [ebx*2 + 1]
movzx ecx, ax
cmove ecx, edx
mov dword [esp + 0x20], 0
movzx eax, cx
mov ecx, eax
shl ecx, 0x10
or ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x18], ecx
cmp edi, 0x57ffffff
jg 0x1016d737
jl 0x1016d702
cmp esi, 0xfffffff5
jae 0x1016d737
push 0
push 0xb
push edi
push esi
call fcn.10511aa0
shld edx, eax, 4
shl eax, 4
jmp 0x1016d73f
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x3bb8]
cmp byte [eax + 0x3f], 0
je 0x1016d690
mov dword [esp + 0x18], 1
jmp 0x1016d698
or eax, 0xffffffff
mov edx, closesocket
push edx
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x78]
push dword [eax + 0xc]
push dword [eax + 8]
lea eax, [esp + 0x40]
push edi
mov edi, dword [esp + 0x74]
push esi
push dword [esp + 0x84]
push eax
push dword [esp + 0x88]
push dword [esp + 0x80]
push dword [esp + 0x8c]
push edi
push dword [esp + 0x4c]
push 0xf
push dword [esp + 0x88]
push dword [esp + 0x90]
push dword [esp + 0x84]
push dword [esp + 0x84]
push dword [esp + 0x84]
call fcn.10466340
mov ecx, dword [esp + 0xa4]
add esp, 0x50
cmp dword [esp + 0x48], 0x7fffffff
mov dword [ecx], eax
jg 0x1016d815
jl 0x1016d7c3
cmp esi, 0xffffffff
jae 0x1016d815
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
shrd ecx, eax, 4
push 0
push 0xb
sar eax, 4
push eax
push ecx
call fcn.10511b50
cmp edx, dword [esp + 0x48]
jl 0x1016d815
jg 0x1016d7e9
cmp eax, esi
jbe 0x1016d815
movups xmm0, xmmword [edi]
push ebx
sub esp, 0x18
mov eax, esp
push ebp
movups xmmword [eax], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [eax + 0x10], xmm0
call fcn.1016f710
add esp, 0x20
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x4f], 0
jne 0x1016d855
cmp dword [esp + 0x20], 0
je 0x1016d855
cmp byte [esp + 0x13], 0
jne 0x1016d84b
push 2
push 1
push dword [esp + 0x58]
push edi
push dword [esp + 0x34]
push dword [esp + 0x3c]
push ebp
push dword [esp + 0x30]
call fcn.101152f0
add esp, 0x20
mov eax, dword [esp + 0x70]
mov dword [eax], 1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret