Function at 0x14015d62c
Capabilities:
Access peb ldr_data
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rdx, qword [0x1417185d0]
mov ebx, 1
test rdx, rdx
jne 0x14015d7a6
xor edi, edi
mov esi, 0xe463da3c
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov r10, r15
movups xmm0, xmmword [r10 + 0x58]
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14015d6b7
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
jmp 0x14015d6aa
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14015d69b
cmp edx, edi
jne 0x14015d787
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov rax, qword [rax + r8 + 0x88]
mov r9d, eax
add r9, r8
shr rax, 0x20
cmp r9, r8
je 0x14015d787
mov r11d, dword [r9 + 0x18]
test r11d, r11d
je 0x14015d787
mov r13d, dword [r9 + 0x20]
dec r11d
lea rcx, [r11*4]
add rcx, r13
mov edx, dword [rcx + r8]
add rdx, r8
mov r14d, 0x811c9dc5
jmp 0x14015d715
movsx ecx, cl
xor ecx, r14d
imul r14d, ecx, 0x1000193
mov cl, byte [rdx]
add rdx, rbx
test cl, cl
jne 0x14015d708
cmp r14d, esi
je 0x14015d72a
test r11d, r11d
jne 0x14015d6eb
jmp 0x14015d787
mov edx, dword [r9 + 0x1c]
add rdx, r8
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx ecx, word [rcx + r11*2]
mov edx, dword [rdx + rcx*4]
add rdx, r8
cmp rdx, r9
jbe 0x14015d79f
lea rcx, [rax + r9]
cmp rdx, rcx
jae 0x14015d79f
mov edi, 0x811c9dc5
mov esi, edi
jmp 0x14015d768
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
add rdx, rbx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14015d75a
jmp 0x14015d77b
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
add rdx, rbx
mov al, byte [rdx]
test al, al
jne 0x14015d770
mov r10, qword [r15]
mov rax, qword [r10]
mov r10, rax
cmp rax, r15
je 0x14015d79d
cmp qword [rax + 0x30], 0
jne 0x14015d66f
xor edx, edx
mov qword [0x1417185d0], rdx
xor ecx, ecx
call rdx
mov rsi, rax
mov qword [rsp + 0xa0], rax
call fcn.140167c78
movsx edi, al
call fcn.140167c74
movsx ecx, al
imul edi, ecx
call fcn.140167c84
movsx r14d, al
lea r15d, [r14 + rdi*8]
add r15d, edi
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r15d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015e42b
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rsi
mulsd xmm1, xmm0
movsd qword [rsp + 0x90], xmm1
imul r13d, edi, 7
add r13d, r14d
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r13d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015d89a
call fcn.140167c7c
movsx edx, al
movsx eax, byte [0x141716b78]
imul edx, eax
add edx, edx
call fcn.140167c88
movsx ecx, al
sub edx, ecx
call fcn.140167c80
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015d89a
mov dword [rsp + 0x90], ebx
jmp 0x14015d8fa
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r15d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015d8fa
lea ecx, [rdi + r14]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + rdi*2]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x90]
cvttsd2si eax, xmm0
mov dword [rsp + 0x90], eax
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r14d
lea eax, [rax + rdi*4]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, dword [rsp + 0x90]
test eax, eax
je 0x14015e42b
mov byte [rsp + 0x90], 0
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x90]
call fcn.1401077fc
mov r12, rax
cmp byte [rax], 0
jne 0x14015e410
mov dword [rsp + 0x90], 0
movsd xmm3, qword [0x1401fdba8]
movsd xmm4, qword [0x1401fdbb0]
movsd xmm5, qword [0x1401fdbb8]
mov eax, dword [rsp + 0x90]
cmp eax, ebx
jae 0x14015e408
call fcn.140167c7c
movsx r10d, al
call fcn.140167c88
movsx r11d, al
call fcn.140167c80
movsx esi, al
movsx edx, byte [0x141716b78]
imul edx, r10d
shl edx, 2
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015db9e
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x98], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r13d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015da38
movsx edx, byte [0x141716b78]
imul edx, r10d
add edx, edx
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015da38
mov dword [rsp + 0x24], ebx
jmp 0x14015da95
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r15d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015da95
lea ecx, [rdi + r14]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + rdi*2]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x24], eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x98], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r13d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015db0b
movsx edx, byte [0x141716b78]
imul edx, r10d
add edx, edx
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015db0b
mov dword [rsp + 0x20], ebx
jmp 0x14015db68
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r15d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015db68
lea ecx, [rdi + r14]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + rdi*2]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x20], eax
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [r12 + rax*4 + 4]
and r8d, dword [rsp + 0x20]
add r8d, r8d
movsxd rax, dword [rsp + 0x90]
mov edx, dword [r12 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x24]
movsxd rax, dword [rsp + 0x90]
mov dword [r12 + rax*4 + 4], edx
lea edx, [rdi + rdi*2]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r14d
lea eax, [rax + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015e1f0
movsx ecx, byte [0x141716b78]
imul ecx, r10d
lea edx, [rcx + rcx*8]
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015ddc6
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm4
movsd qword [rsp + 0x98], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r13d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015dc60
movsx edx, byte [0x141716b78]
imul edx, r10d
add edx, edx
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015dc60
mov dword [rsp + 0x2c], ebx
jmp 0x14015dcbd
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r15d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015dcbd
lea ecx, [rdi + r14]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + rdi*2]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x2c], eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm4
movsd qword [rsp + 0x98], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r13d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015dd33
movsx edx, byte [0x141716b78]
imul edx, r10d
add edx, edx
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015dd33
mov dword [rsp + 0x28], ebx
jmp 0x14015dd90
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r15d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015dd90
lea ecx, [rdi + r14]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + rdi*2]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x28], eax
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [r12 + rax*4 + 4]
and r8d, dword [rsp + 0x28]
add r8d, r8d
movsxd rax, dword [rsp + 0x90]
mov edx, dword [r12 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x2c]
movsxd rax, dword [rsp + 0x90]
mov dword [r12 + rax*4 + 4], edx
movsx ecx, byte [0x141716b78]
imul ecx, r10d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015dfc6
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm5
movsd qword [rsp + 0x98], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r13d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015de60
movsx edx, byte [0x141716b78]
imul edx, r10d
add edx, edx
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015de60
mov dword [rsp + 0x34], ebx
jmp 0x14015debd
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r15d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015debd
lea ecx, [rdi + r14]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + rdi*2]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x34], eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm5
movsd qword [rsp + 0x98], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r13d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015df33
movsx edx, byte [0x141716b78]
imul edx, r10d
add edx, edx
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015df33
mov dword [rsp + 0x30], ebx
jmp 0x14015df90
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r15d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015df90
lea ecx, [rdi + r14]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + rdi*2]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x30], eax
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [r12 + rax*4 + 4]
and r8d, dword [rsp + 0x30]
add r8d, r8d
movsxd rax, dword [rsp + 0x90]
mov edx, dword [r12 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x34]
movsxd rax, dword [rsp + 0x90]
mov dword [r12 + rax*4 + 4], edx
lea ecx, [rdi + r14]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + rdi*4]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015e1f0
mov eax, dword [rsp + 0x90]
add eax, 0x47
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x98], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r13d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015e078
movsx edx, byte [0x141716b78]
imul edx, r10d
add edx, edx
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015e078
mov dword [rsp + 0x3c], ebx
jmp 0x14015e0d5
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r15d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015e0d5
lea ecx, [rdi + r14]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + rdi*2]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x90]
add eax, 0x47
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x98], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r13d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015e15d
movsx edx, byte [0x141716b78]
imul edx, r10d
add edx, edx
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015e15d
mov dword [rsp + 0x38], ebx
jmp 0x14015e1ba
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r15d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015e1ba
lea ecx, [rdi + r14]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + rdi*2]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x38], eax
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [r12 + rax*4 + 4]
and r8d, dword [rsp + 0x38]
add r8d, r8d
movsxd rax, dword [rsp + 0x90]
mov edx, dword [r12 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x3c]
movsxd rax, dword [rsp + 0x90]
mov dword [r12 + rax*4 + 4], edx
movsx edx, byte [0x141716b78]
imul edx, r10d
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015e3f3
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x1401fdbc0]
movsd qword [rsp + 0x98], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r13d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015e289
movsx edx, byte [0x141716b78]
imul edx, r10d
add edx, edx
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015e289
mov dword [rsp + 0x44], ebx
jmp 0x14015e2e6
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r15d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015e2e6
lea ecx, [rdi + r14]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + rdi*2]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x1401fdbc0]
movsd qword [rsp + 0x98], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r13d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015e360
movsx edx, byte [0x141716b78]
imul edx, r10d
add edx, edx
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015e360
mov dword [rsp + 0x40], ebx
jmp 0x14015e3bd
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r15d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015e3bd
lea ecx, [rdi + r14]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + rdi*2]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [r12 + rax*4 + 4]
and r8d, dword [rsp + 0x40]
add r8d, r8d
movsxd rax, dword [rsp + 0x90]
mov edx, dword [r12 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x44]
movsxd rax, dword [rsp + 0x90]
mov dword [r12 + rax*4 + 4], edx
mov eax, dword [rsp + 0x90]
add eax, ebx
mov dword [rsp + 0x90], eax
jmp 0x14015d977
mov rsi, qword [rsp + 0xa0]
mov byte [r12], bl
mov eax, dword [r12 + 4]
lea rdx, reloc.OLEAUT32.dll_SysStringLen
mov rdx, qword [rdx + rax*8]
mov rcx, rsi
call rdx
jmp 0x14015e42b
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret