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

Disassembly:
sub esp, 0x24
push ebx
push ebp
mov ebp, dword [esp + 0x34]
push esi
push edi
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x48]
xor edx, edx
not ecx
dec ecx
mov esi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp esi, edx
mov ebx, ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], ebx
jne 0x1008c9ad
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
cmp ebx, edx
je 0x1008cc76
cmp ebx, esi
jg 0x1008cc76
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x24], edx
cmp eax, edx
mov dword [esp + 0x1c], edx
je 0x1008c9e3
mov edi, dword [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x24], edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x68]
mov ecx, 1
cmp eax, edx
je 0x1008c9f4
mov ecx, dword [esp + 0x60]
cmp dword [esp + 0x74], edx
jne 0x1008ca04
mov dword [esp + 0x18], closesocket
jmp 0x1008ca0c
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov eax, esi
sub eax, ebx
lea esi, [eax + 1]
cmp ecx, esi
jg 0x1008cc76
cmp dword [esp + 0x18], edx
jle 0x1008cc76
cmp ecx, edx
jle 0x1008cc76
lea ecx, [ecx + ebp - 1]
lea eax, [eax + ebp + 1]
mov dword [esp + 0x2c], ecx
mov esi, ecx
mov ecx, dword [esp + 0x78]
xor edi, edi
cmp ecx, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
je 0x1008ca88
cmp esi, eax
jae 0x1008cc76
mov ecx, dword [esp + 0x48]
push ebx
push ecx
push esi
call fcn.100be990
add esp, 0xc
test eax, eax
jne 0x1008ca75
mov eax, dword [esp + 0x18]
inc edi
cmp edi, eax
je 0x1008cac1
add esi, ebx
jmp 0x1008ca80
cmp byte [esi], 0
jge 0x1008ca7f
add esi, 2
jmp 0x1008ca80
inc esi
cmp esi, dword [esp + 0x14]
jb 0x1008ca55
jmp 0x1008cac1
cmp esi, eax
jae 0x1008cc76
mov edx, dword [esp + 0x48]
push ebx
push edx
push esi
call fcn.100c7990
add esp, 0xc
test eax, eax
jne 0x1008cab0
mov eax, dword [esp + 0x18]
inc edi
cmp edi, eax
je 0x1008cac1
add esi, ebx
jmp 0x1008cabb
cmp byte [esi], 0
jge 0x1008caba
add esi, 2
jmp 0x1008cabb
inc esi
cmp esi, dword [esp + 0x14]
jb 0x1008ca90
test edi, edi
mov dword [esp + 0x10], edi
je 0x1008cc76
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
sub eax, ebx
imul eax, edi
add eax, esi
mov dword [esp + 0x30], eax
inc eax
push eax
call fcn.1008b280
mov edi, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov esi, eax
mov eax, dword [esp + 0x7c]
add esp, 4
test eax, eax
mov eax, dword [esp + 0x14]
je 0x1008cba4
cmp edi, eax
jae 0x1008cc62
mov eax, dword [esp + 0x48]
push ebx
push eax
push edi
call fcn.100be990
add esp, 0xc
test eax, eax
jne 0x1008cb66
mov ebx, edi
sub ebx, ebp
push ebx
push ebp
push esi
call fcn.100be890
mov eax, dword [esp + 0x30]
add esi, ebx
add esp, 0xc
test eax, eax
mov byte [esi], 0
je 0x1008cb4f
mov ebx, dword [esp + 0x1c]
push ebx
push eax
push esi
call fcn.100be890
add esp, 0xc
add esi, ebx
mov byte [esi], 0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
add edi, ecx
dec eax
mov ebp, edi
mov dword [esp + 0x10], eax
je 0x1008cb8b
mov ebx, ecx
jmp 0x1008cb71
cmp byte [edi], 0
jge 0x1008cb70
add edi, 2
jmp 0x1008cb71
inc edi
cmp edi, dword [esp + 0x14]
jb 0x1008cb0c
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
mov byte [eax + ecx], 0
pop ebx
add esp, 0x24
ret
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
mov ecx, edi
sub ecx, edx
cmp ecx, eax
jg 0x1008cc62
jmp 0x1008cc3b
cmp edi, eax
jae 0x1008cc62
mov eax, dword [esp + 0x48]
push ebx
push eax
push edi
call fcn.100c7990
add esp, 0xc
test eax, eax
jne 0x1008cc06
mov ebx, edi
sub ebx, ebp
push ebx
push ebp
push esi
call fcn.100be890
mov eax, dword [esp + 0x30]
add esi, ebx
add esp, 0xc
test eax, eax
mov byte [esi], 0
je 0x1008cbef
mov ebx, dword [esp + 0x1c]
push ebx
push eax
push esi
call fcn.100be890
add esp, 0xc
add esi, ebx
mov byte [esi], 0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
add edi, ecx
dec eax
mov ebp, edi
mov dword [esp + 0x10], eax
je 0x1008cc2b
mov ebx, ecx
jmp 0x1008cc11
cmp byte [edi], 0
jge 0x1008cc10
add edi, 2
jmp 0x1008cc11
inc edi
cmp edi, dword [esp + 0x14]
jb 0x1008cbac
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
mov byte [eax + ecx], 0
pop ebx
add esp, 0x24
ret
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
mov ecx, edi
sub ecx, edx
cmp ecx, eax
jg 0x1008cc62
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
mov byte [eax + ecx], 0
pop ebx
add esp, 0x24
ret
push ebp
call fcn.1008c930
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret