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

Disassembly:
mov eax, 0x44
call fcn.10123f80
mov eax, dword [0x101c2520]
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 0x100cb877
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 0x100cb4ea
cmp eax, edi
jb 0x100cb840
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.1009f0a0
lea eax, [edi - 1]
add esp, 0x10
add ebp, edi
xor ecx, ecx
xor edx, edx
cmp eax, 7
ja case.default.0x100cb1f5
jmp dword [eax*4 + 0x100cb888]
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.0x100cb25e
jmp dword [eax*4 + 0x100cb8a8]
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 0x100cb2b3
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
jmp 0x100cb4d5
cmp eax, 0x40
jne 0x100cb2c1
mov ebx, edx
mov edx, ecx
jmp 0x100cb4d5
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 0x100cb350
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.101204a0
mov ah, byte [esp + 0x4d]
mov dh, byte [esp + 0x4f]
add esp, 0xc
test ebx, ebx
je 0x100cb475
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 0x100cb499
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 0x100cb1c0
jmp 0x100cb83c
cmp eax, edi
jb 0x100cb840
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.1009f0a0
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.0x100cb533
jmp dword [eax*4 + 0x100cb8c8]
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 0x100cb59c
mov ebx, dword [esp + 0x14]
jmp 0x100cb7c2
cmp eax, 0x40
jne 0x100cb5aa
mov ebx, edx
mov edx, ecx
jmp 0x100cb7c2
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 0x100cb63d
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.101204a0
mov ah, byte [esp + 0x4d]
mov dh, byte [esp + 0x4f]
add esp, 0xc
test ebx, ebx
je 0x100cb762
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 0x100cb786
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.0x100cb7e7
lea edx, [edi - 1]
jmp dword [edx*4 + 0x100cb8e8]
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 0x100cb4f6
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.1012032b
add esp, 0x44
ret