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

Disassembly:
mov eax, 0x44
call fcn.101632f0
mov eax, dword [0x101f9e50]
xor eax, esp
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
push esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x64]
push edi
lea edi, [ecx + 7]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x6c]
shr edi, 3
mov dword [esp + 0x34], eax
cmp ecx, 0x40
jg 0x100f9767
push ebx
movzx ebx, byte [eax]
push ebp
lea ebp, [eax + 1]
mov edx, ebp
mov dword [esp + 0x30], ebp
movzx eax, byte [edx]
movzx ecx, byte [edx + 3]
shl eax, 8
or ebx, eax
movzx eax, byte [edx + 1]
shl eax, 0x10
or ebx, eax
movzx eax, byte [edx + 2]
shl eax, 0x18
or ebx, eax
movzx eax, byte [edx + 4]
shl eax, 8
or ecx, eax
movzx eax, byte [edx + 5]
mov dword [esp + 0x14], ecx
movzx ecx, byte [edx + 6]
mov edx, dword [esp + 0x14]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x64]
shl ecx, 0x10
or edx, ecx
cmp dword [esp + 0x78], 0
mov dword [esp + 0x14], edx
je 0x100f93da
cmp eax, edi
jb 0x100f9730
mov ebp, dword [esp + 0x58]
lea esp, [esp]
push dword [esp + 0x2c]
sub eax, edi
push dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
push dword [esp + 0x3c]
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edx
call fcn.100ccfa0
lea eax, [edi - 1]
add esp, 0x10
add ebp, edi
xor ecx, ecx
xor edx, edx
cmp eax, 7
ja case.default.0x100f90e5
jmp dword [eax*4 + 0x100f9778]
movzx ecx, byte [ebp - 1]
dec ebp
shl ecx, 0x18
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 0x10
or ecx, eax
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 1]
dec ebp
or ecx, eax
movzx edx, byte [ebp - 1]
dec ebp
shl edx, 0x18
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 0x10
or edx, eax
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 8
or edx, eax
movzx eax, byte [ebp - 1]
dec ebp
or edx, eax
lea eax, [edi - 1]
xor edx, dword [esp + 0x20]
xor ecx, dword [esp + 0x24]
add ebp, edi
add esi, edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], ecx
cmp eax, 7
ja case.default.0x100f914e
jmp dword [eax*4 + 0x100f9798]
dec esi
mov eax, ecx
shr eax, 0x18
mov byte [esi], al
dec esi
mov eax, ecx
shr eax, 0x10
mov byte [esi], al
dec esi
mov eax, ecx
shr eax, 8
mov byte [esi], al
dec esi
mov byte [esi], cl
dec esi
mov eax, edx
shr eax, 0x18
mov byte [esi], al
dec esi
mov eax, edx
shr eax, 0x10
mov byte [esi], al
dec esi
mov eax, edx
shr eax, 8
mov byte [esi], al
dec esi
mov byte [esi], dl
mov eax, dword [esp + 0x60]
add esi, edi
cmp eax, 0x20
jne 0x100f91a3
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
jmp 0x100f93c5
cmp eax, 0x40
jne 0x100f91b1
mov ebx, edx
mov edx, ecx
jmp 0x100f93c5
mov ecx, dword [esp + 0x14]
mov eax, ebx
shr eax, 8
mov byte [esp + 0x41], al
mov eax, ebx
shr eax, 0x10
mov byte [esp + 0x42], al
mov eax, ecx
shr eax, 8
mov byte [esp + 0x45], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x46], al
mov eax, edx
shr eax, 8
mov byte [esp + 0x49], al
mov byte [esp + 0x44], cl
shr ecx, 0x18
mov eax, edx
shr eax, 0x10
mov byte [esp + 0x47], cl
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x4a], al
mov eax, ecx
shr eax, 8
mov byte [esp + 0x4d], al
mov eax, ecx
mov byte [esp + 0x4c], cl
shr ecx, 0x18
mov byte [esp + 0x40], bl
shr ebx, 0x18
mov byte [esp + 0x4f], cl
mov ecx, dword [esp + 0x60]
mov byte [esp + 0x43], bl
mov byte [esp + 0x48], dl
shr edx, 0x18
shr eax, 0x10
mov ebx, ecx
mov byte [esp + 0x4b], dl
mov byte [esp + 0x4e], al
and ebx, reloc.WS2_32.dll_getsockopt
jns 0x100f9240
dec ebx
or ebx, 0xfffffff8
inc ebx
mov eax, 0
setne al
add eax, 8
push eax
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea eax, [esp + eax + 0x44]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.101603d0
mov ah, byte [esp + 0x4d]
mov dh, byte [esp + 0x4f]
add esp, 0xc
test ebx, ebx
je 0x100f9365
mov ch, byte [esp + 0x40]
mov cl, bl
shl ch, cl
mov dl, 8
sub dl, bl
mov al, ah
mov cl, dl
shr al, cl
mov cl, bl
shl ah, cl
mov cl, dl
or ch, al
mov byte [esp + 0x1b], ch
mov byte [esp + 0x40], ch
mov ch, byte [esp + 0x42]
mov al, ch
shr al, cl
mov cl, bl
shl ch, cl
mov cl, dl
or ah, al
mov al, dh
shr al, cl
mov cl, bl
shl dh, cl
mov cl, dl
or ch, al
mov al, byte [esp + 0x44]
mov byte [esp + 0x11], al
shr al, cl
mov cl, bl
mov byte [esp + 0x41], ah
mov byte [esp + 0x42], ch
or dh, al
mov al, byte [esp + 0x11]
shl al, cl
mov cl, dl
mov byte [esp + 0x43], dh
mov byte [esp + 0x11], al
mov al, byte [esp + 0x45]
mov byte [esp + 0x12], al
shr al, cl
mov cl, byte [esp + 0x11]
or cl, al
mov al, byte [esp + 0x12]
mov byte [esp + 0x11], cl
mov byte [esp + 0x44], cl
mov cl, bl
shl al, cl
mov cl, dl
mov byte [esp + 0x12], al
mov al, byte [esp + 0x46]
mov byte [esp + 0x10], al
shr al, cl
mov cl, byte [esp + 0x12]
or cl, al
mov al, byte [esp + 0x10]
mov byte [esp + 0x12], cl
mov byte [esp + 0x45], cl
mov cl, bl
shl al, cl
mov cl, byte [esp + 0x47]
mov byte [esp + 0x13], cl
mov byte [esp + 0x10], al
mov al, cl
mov cl, dl
shr al, cl
mov cl, byte [esp + 0x10]
or cl, al
mov al, byte [esp + 0x48]
mov byte [esp + 0x10], cl
mov byte [esp + 0x46], cl
mov cl, bl
mov bl, byte [esp + 0x13]
shl bl, cl
mov cl, dl
shr al, cl
or bl, al
mov byte [esp + 0x13], bl
mov byte [esp + 0x47], bl
mov cl, bl
mov al, byte [esp + 0x1b]
jmp 0x100f9389
mov al, byte [esp + 0x46]
mov cl, byte [esp + 0x47]
mov ch, byte [esp + 0x42]
mov byte [esp + 0x10], al
mov al, byte [esp + 0x45]
mov byte [esp + 0x12], al
mov al, byte [esp + 0x44]
mov byte [esp + 0x11], al
mov al, byte [esp + 0x40]
movzx ebx, al
movzx eax, ah
shl eax, 8
or ebx, eax
movzx eax, ch
shl eax, 0x10
or ebx, eax
movzx eax, dh
movzx edx, byte [esp + 0x11]
shl eax, 0x18
or ebx, eax
movzx eax, byte [esp + 0x12]
shl eax, 8
movzx ecx, cl
or edx, eax
movzx eax, byte [esp + 0x10]
shl ecx, 8
or ecx, eax
shl ecx, 0x10
or edx, ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14], edx
cmp eax, edi
jae 0x100f90b0
jmp 0x100f972c
cmp eax, edi
jb 0x100f9730
mov ebp, dword [esp + 0x58]
push dword [esp + 0x2c]
sub eax, edi
push dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
push dword [esp + 0x3c]
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edx
call fcn.100ccfa0
xor ecx, ecx
xor edx, edx
lea eax, [edi - 1]
add esp, 0x10
add ebp, edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], edx
cmp eax, 7
ja case.default.0x100f9423
jmp dword [eax*4 + 0x100f97b8]
movzx ecx, byte [ebp - 1]
dec ebp
shl ecx, 0x18
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 0x10
or ecx, eax
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 1]
dec ebp
or ecx, eax
mov dword [esp + 0x1c], ecx
movzx edx, byte [ebp - 1]
dec ebp
shl edx, 0x18
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 0x10
or edx, eax
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 8
or edx, eax
movzx eax, byte [ebp - 1]
dec ebp
or edx, eax
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x60]
add ebp, edi
cmp eax, 0x20
jne 0x100f948c
mov ebx, dword [esp + 0x14]
jmp 0x100f96b2
cmp eax, 0x40
jne 0x100f949a
mov ebx, edx
mov edx, ecx
jmp 0x100f96b2
mov ecx, dword [esp + 0x14]
mov eax, ebx
shr eax, 8
mov byte [esp + 0x41], al
mov eax, ebx
shr eax, 0x10
mov byte [esp + 0x42], al
mov eax, ecx
shr eax, 8
mov byte [esp + 0x45], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x46], al
mov eax, edx
shr eax, 8
mov byte [esp + 0x49], al
mov eax, edx
shr eax, 0x10
mov byte [esp + 0x4a], al
mov byte [esp + 0x44], cl
shr ecx, 0x18
mov eax, edx
shr eax, 0x18
mov byte [esp + 0x4b], al
mov byte [esp + 0x47], cl
mov ecx, dword [esp + 0x1c]
mov eax, ecx
shr eax, 8
mov byte [esp + 0x4d], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x40], bl
shr ebx, 0x18
mov byte [esp + 0x4e], al
mov eax, ecx
mov byte [esp + 0x4c], cl
mov ecx, dword [esp + 0x60]
mov byte [esp + 0x43], bl
shr eax, 0x18
mov ebx, ecx
mov byte [esp + 0x48], dl
mov byte [esp + 0x4f], al
and ebx, reloc.WS2_32.dll_getsockopt
jns 0x100f952d
dec ebx
or ebx, 0xfffffff8
inc ebx
mov eax, 0
setne al
add eax, 8
push eax
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea eax, [esp + eax + 0x44]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.101603d0
mov ah, byte [esp + 0x4d]
mov dh, byte [esp + 0x4f]
add esp, 0xc
test ebx, ebx
je 0x100f9652
mov ch, byte [esp + 0x40]
mov cl, bl
shl ch, cl
mov dl, 8
sub dl, bl
mov al, ah
mov cl, dl
shr al, cl
mov cl, bl
shl ah, cl
mov cl, dl
or ch, al
mov byte [esp + 0x1b], ch
mov byte [esp + 0x40], ch
mov ch, byte [esp + 0x42]
mov al, ch
shr al, cl
mov cl, bl
shl ch, cl
mov cl, dl
or ah, al
mov al, dh
shr al, cl
mov cl, bl
shl dh, cl
mov cl, dl
or ch, al
mov al, byte [esp + 0x44]
mov byte [esp + 0x10], al
shr al, cl
mov cl, bl
mov byte [esp + 0x41], ah
mov byte [esp + 0x42], ch
or dh, al
mov al, byte [esp + 0x10]
shl al, cl
mov cl, dl
mov byte [esp + 0x43], dh
mov byte [esp + 0x10], al
mov al, byte [esp + 0x45]
mov byte [esp + 0x12], al
shr al, cl
mov cl, byte [esp + 0x10]
or cl, al
mov al, byte [esp + 0x12]
mov byte [esp + 0x10], cl
mov byte [esp + 0x44], cl
mov cl, bl
shl al, cl
mov cl, dl
mov byte [esp + 0x12], al
mov al, byte [esp + 0x46]
mov byte [esp + 0x11], al
shr al, cl
mov cl, byte [esp + 0x12]
or cl, al
mov al, byte [esp + 0x11]
mov byte [esp + 0x12], cl
mov byte [esp + 0x45], cl
mov cl, bl
shl al, cl
mov cl, byte [esp + 0x47]
mov byte [esp + 0x13], cl
mov byte [esp + 0x11], al
mov al, cl
mov cl, dl
shr al, cl
mov cl, byte [esp + 0x11]
or cl, al
mov al, byte [esp + 0x48]
mov byte [esp + 0x11], cl
mov byte [esp + 0x46], cl
mov cl, bl
mov bl, byte [esp + 0x13]
shl bl, cl
mov cl, dl
shr al, cl
or bl, al
mov byte [esp + 0x13], bl
mov byte [esp + 0x47], bl
mov cl, bl
mov al, byte [esp + 0x1b]
jmp 0x100f9676
mov al, byte [esp + 0x46]
mov cl, byte [esp + 0x47]
mov ch, byte [esp + 0x42]
mov byte [esp + 0x11], al
mov al, byte [esp + 0x45]
mov byte [esp + 0x12], al
mov al, byte [esp + 0x44]
mov byte [esp + 0x10], al
mov al, byte [esp + 0x40]
movzx ebx, al
movzx eax, ah
shl eax, 8
or ebx, eax
movzx eax, ch
shl eax, 0x10
or ebx, eax
movzx eax, dh
movzx edx, byte [esp + 0x10]
shl eax, 0x18
or ebx, eax
movzx eax, byte [esp + 0x12]
shl eax, 8
movzx ecx, cl
or edx, eax
movzx eax, byte [esp + 0x11]
shl ecx, 8
or ecx, eax
shl ecx, 0x10
or edx, ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
xor ecx, dword [esp + 0x20]
mov dword [esp + 0x14], edx
lea edx, [edi - 1]
add esi, edi
mov dword [esp + 0x1c], eax
cmp edx, 7
ja case.default.0x100f96d7
lea edx, [edi - 1]
jmp dword [edx*4 + 0x100f97d8]
dec esi
shr eax, 0x18
mov byte [esi], al
mov eax, dword [esp + 0x1c]
dec esi
shr eax, 0x10
mov byte [esi], al
mov eax, dword [esp + 0x1c]
dec esi
shr eax, 8
mov byte [esi], al
mov eax, dword [esp + 0x1c]
dec esi
mov byte [esi], al
dec esi
mov eax, ecx
shr eax, 0x18
mov byte [esi], al
dec esi
mov eax, ecx
shr eax, 0x10
mov byte [esi], al
dec esi
mov eax, ecx
shr eax, 8
mov byte [esi], al
dec esi
mov byte [esi], cl
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x14]
add esi, edi
cmp eax, edi
jae 0x100f93e6
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x3c]
mov byte [eax], bl
mov eax, ebx
shr eax, 8
mov byte [ebp], al
mov eax, ebx
shr eax, 0x10
mov byte [ebp + 1], al
shr ebx, 0x18
mov byte [ebp + 2], bl
mov byte [ebp + 3], dl
mov eax, edx
shr eax, 8
mov byte [ebp + 4], al
mov eax, edx
shr eax, 0x10
mov byte [ebp + 5], al
shr edx, 0x18
mov byte [ebp + 6], dl
pop ebp
pop ebx
mov ecx, dword [esp + 0x48]
pop edi
pop esi
xor ecx, esp
call fcn.1016027d
add esp, 0x44
ret