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

Disassembly:
mov ecx, dword [esp + 0xc]
sub esp, 0x10
push ebx
push ebp
push esi
push edi
cmp dword [ecx + 4], 0
mov eax, dword [ecx]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x14], eax
jg 0x487702
jl 0x48770a
cmp eax, 0x64
jb 0x48770a
mov dword [esp + 0x14], 0x64
mov ebx, dword [esp + 0x30]
xor esi, esi
mov eax, dword [ebx]
test eax, eax
je 0x487723
push esi
push eax
push ebp
call fcn.00463280
add esp, 0xc
mov dword [ebx], esi
lea eax, [esp + 0x10]
push eax
push 1
push ebp
call fcn.00463260
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov ebx, eax
test edi, edi
jle 0x48790f
push edi
push 0xa
push ebx
call fcn.006d9020
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x487771
sub ebp, ebx
lea esi, [ebp + 1]
mov dword [esp + 0x10], esi
cmp esi, dword [esp + 0x14]
jg 0x4878fb
mov eax, dword [esp + 0x30]
mov dword [eax], esi
jmp 0x487840
mov eax, dword [esp + 0x30]
mov dword [eax], edi
cmp edi, dword [esp + 0x14]
jg 0x4878fb
mov ecx, dword [esp + 0x28]
add ecx, 0x78
mov dword [esp + 0x18], ecx
nop dword [eax]
lea eax, [edi + esi]
push eax
push ecx
call fcn.00491c30
add esp, 8
test eax, eax
je 0x4878f2
mov eax, dword [esp + 0x28]
push dword [esp + 0x10]
push ebx
mov eax, dword [eax + 0x78]
add eax, esi
push eax
call fcn.006d8770
mov ebx, dword [esp + 0x3c]
add esp, 0xc
mov edi, dword [esp + 0x24]
mov eax, dword [ebx]
test eax, eax
je 0x4877dc
push 0
push eax
push edi
call fcn.00463280
add esp, 0xc
mov dword [ebx], 0
add esi, dword [esp + 0x10]
test ebp, ebp
jne 0x487839
lea eax, [esp + 0x10]
push eax
push 1
push edi
call fcn.00463260
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov ebx, eax
test edi, edi
jle 0x48790f
push edi
push 0xa
push ebx
call fcn.006d9020
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x48781d
mov edi, ebp
sub edi, ebx
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x30]
mov dword [eax], edi
lea eax, [edi + esi]
cmp eax, dword [esp + 0x14]
jg 0x4878fb
mov ecx, dword [esp + 0x18]
jmp 0x487790
mov eax, dword [esp + 0x28]
mov ebx, dword [eax + 0x78]
test esi, esi
jle 0x48790f
mov ecx, dword [esp + 0x2c]
mov eax, esi
cdq
sub dword [ecx], eax
sbb dword [ecx + 4], edx
cmp byte [ebx], 0x23
je 0x4876eb
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
nop
mov al, byte [ebx]
cmp al, 0xa
je 0x4878e6
cmp al, 0x30
jl 0x4878d6
movsx eax, al
cmp eax, 0x3a
jge 0x4878d6
add eax, 0xffffffd0
cmp ebp, 0xccccccc
jg 0x4878c8
jl 0x487897
cmp edi, 0xcccccccc
ja 0x4878c8
cmp edi, 0xcccccccc
jne 0x4878ac
cmp ebp, 0xccccccc
jne 0x4878ac
cmp eax, 7
jg 0x4878c8
mov ecx, edi
mov edx, ebp
shld edx, ecx, 2
shl ecx, 2
add edi, ecx
adc ebp, edx
cdq
shld ebp, edi, 1
add edi, edi
add edi, eax
adc ebp, edx
jmp 0x4878d0
or edi, 0xffffffff
mov ebp, accept
dec esi
inc ebx
test esi, esi
jg 0x487870
pop edi
pop esi
pop ebp
mov eax, 0xffffffec
or edx, 0xffffffff
pop ebx
add esp, 0x10
ret
mov eax, edi
mov edx, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
push str.Cant_allocate_working_buffer
push 0xc
jmp 0x487902
push str.Line_too_long
push 0x2a
mov eax, dword [esp + 0x2c]
push eax
call fcn.004649c0
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0xffffffe2
or edx, 0xffffffff
pop ebx
add esp, 0x10
ret