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

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, edx
sub esp, 0x4c
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], ecx
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
lea ecx, [ebx + 0x78]
mov dword [esp + 0x20], ecx
jmp 0x4c267c
lea eax, [esp + 0x3c]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.00489e10
mov edx, dword [esp + 0x3c]
mov ebp, eax
test edx, edx
jle 0x4c27e1
mov dword [esp + 8], edx
mov dword [esp + 4], 0xa
mov dword [esp], eax
mov dword [esp + 0x28], edx
call sub.msvcrt.dll_memchr
test eax, eax
mov esi, eax
mov edx, dword [esp + 0x28]
je 0x4c26c5
lea ebx, [eax + 1]
sub ebx, ebp
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x3c], ebx
jg 0x4c27c5
mov eax, dword [esp + 0x60]
mov dword [eax], ebx
test ebx, ebx
jle 0x4c27e1
mov ecx, dword [esp + 0x2c]
mov eax, ebx
cdq
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [esp + 0x18], esi
sub esi, ebx
mov dword [esp + 0x1c], edi
sbb edi, edx
mov dword [ecx], esi
mov eax, esi
mov dword [ecx + 4], edi
cmp byte [ebp], 0x23
mov edx, edi
jne 0x4c2813
cmp edx, 0
jl 0x4c268c
jle 0x4c27f3
mov eax, 0x64
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x4c25e0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.0048a530
mov eax, dword [esp + 0x60]
mov dword [eax], 0
jmp 0x4c25e0
cmp edx, dword [esp + 0x18]
mov eax, dword [esp + 0x60]
mov dword [eax], edx
jg 0x4c27c5
xor ebx, ebx
mov edi, ebp
jmp 0x4c2748
add ebx, dword [esp + 0x3c]
test esi, esi
jne 0x4c27b9
lea eax, [esp + 0x3c]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.00489e10
mov ebp, dword [esp + 0x3c]
mov edi, eax
test ebp, ebp
jle 0x4c27e1
mov dword [esp + 8], ebp
mov dword [esp + 4], 0xa
mov dword [esp], eax
call sub.msvcrt.dll_memchr
test eax, eax
mov esi, eax
je 0x4c2739
lea ebp, [eax + 1]
sub ebp, edi
mov dword [esp + 0x3c], ebp
lea edx, [ebx + ebp]
cmp dword [esp + 0x18], edx
mov eax, dword [esp + 0x60]
mov dword [eax], ebp
jl 0x4c27c5
mov eax, dword [esp + 0x20]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004d7c70
test eax, eax
je 0x4c2801
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
mov eax, dword [ecx + 0x78]
mov dword [esp + 8], edx
mov dword [esp + 4], edi
add eax, ebx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x4c26e0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.0048a530
mov eax, dword [esp + 0x60]
add ebx, dword [esp + 0x3c]
test esi, esi
mov dword [eax], 0
je 0x4c26ec
mov eax, dword [esp + 0x24]
mov ebp, dword [eax + 0x78]
jmp 0x4c2649
mov dword [esp + 8], str.Line_too_long
mov dword [esp + 4], 0x2a
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.004de480
mov eax, 0xffffffe2
mov edx, 0xffffffff
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 0x63
jbe 0x4c268c
jmp 0x4c2687
mov dword [esp + 8], str.Cant_allocate_working_buffer
mov dword [esp + 4], 0xc
jmp 0x4c27d5
xor eax, eax
xor edx, edx
mov esi, ebx
jmp 0x4c2862
jl 0x4c2829
cmp eax, 0xcccccccc
ja 0x4c287f
lea ebx, [ecx - 0x30]
cmp ebx, 7
jle 0x4c2845
mov edi, eax
mov ecx, edx
xor edi, 0xcccccccc
xor ecx, 0xccccccc
or edi, ecx
je 0x4c287f
mov edi, 0xa
imul ecx, edx, 0xa
mul edi
add edx, ecx
mov ecx, ebx
sar ebx, 0x1f
add eax, ecx
adc edx, ebx
add ebp, 1
sub esi, 1
je 0x4c2891
movsx ecx, byte [ebp]
cmp cl, 0xa
je 0x4c27eb
lea ebx, [ecx - 0x30]
cmp bl, 9
ja 0x4c2891
cmp edx, 0xccccccc
jle 0x4c2820
add ebp, 1
sub esi, 1
mov eax, 0xffffffff
mov edx, 0x7fffffff
jne 0x4c2862
add esp, 0x4c
mov eax, 0xffffffec
mov edx, 0xffffffff
pop ebx
pop esi
pop edi
pop ebp
ret