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

Disassembly:
sub esp, 0x2c
test eax, eax
mov dword [esp + 0x28], ebp
mov ebp, edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], eax
je 0x610c5680
cmp edx, 0xffffffbf
mov edi, 0x61149da0
ja 0x610c55f0
mov esi, eax
xor ecx, ecx
sub esi, 8
mov dword [esp + 0x10], ecx
mov eax, dword [esi + 4]
mov edx, eax
and edx, 0xfffffffc
cmp dword [0x61149db0], esi
mov dword [esp + 0x14], edx
lea edx, [esi + edx]
ja 0x610c56f2
test al, 2
je 0x610c56f2
cmp esi, edx
jae 0x610c56f2
test byte [edx + 4], 1
je 0x610c56f2
cmp ebp, 0xa
mov ebx, 0x10
ja 0x610c5590
test al, 1
jne 0x610c559a
test byte [esi], 1
je 0x610c559a
mov edx, eax
and edx, 0xfffffffc
cmp ebx, 0xf8
jbe 0x610c561d
lea eax, [ebx + 4]
cmp eax, edx
ja 0x610c56e9
mov eax, dword [0x61149d88]
sub edx, ebx
add eax, eax
cmp edx, eax
ja 0x610c56e9
mov eax, esi
mov edi, eax
lea esi, [esi]
lea edi, [edi]
test edi, edi
je 0x610c561d
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x610c5579
mov eax, dword [esp + 0x10]
call sym._dlfree
lea eax, [edi + 8]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
add esp, 0x2c
ret
lea ebx, [ebp + 0xb]
and ebx, 0xfffffff8
test al, 1
je 0x610c551d
cmp dword [esp + 0x14], ebx
jb 0x610c5611
mov ecx, dword [esp + 0x14]
mov edi, esi
sub ecx, ebx
cmp ecx, 0xf
jbe 0x610c5560
and eax, 1
lea edx, [esi + ebx]
or eax, ebx
or eax, 2
mov dword [esi + 4], eax
mov eax, dword [esi + ebx + 4]
or eax, 1
mov dword [esi + ebx + 4], eax
and eax, 1
or eax, ecx
or eax, 2
mov dword [edx + 4], eax
or dword [edx + ecx + 4], 1
add edx, 8
test esi, esi
mov dword [esp + 0x10], edx
je 0x610c561d
test edx, edx
mov eax, edx
je 0x610c5579
call sym._dlfree
jmp 0x610c5579
call sym.cygwin1.dll___errno
mov dword [eax], 0xc
mov ebx, dword [esp + 0x1c]
xor eax, eax
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
add esp, 0x2c
ret
cmp dword [0x61149db8], edx
je 0x610c56a9
mov eax, ebp
call sym._dlmalloc
test eax, eax
mov ebx, eax
je 0x610c5665
test byte [esi + 4], 1
jne 0x610c56a0
test byte [esi], 1
je 0x610c56a0
mov eax, dword [esp + 0x14]
sub eax, 8
lea esi, [esi]
cmp ebp, eax
mov edx, ebp
jbe 0x610c5648
mov edx, eax
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x18]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call sym.cygwin1.dll__memcpy
mov eax, dword [esp + 0x18]
call sym._dlfree
mov eax, ebx
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
add esp, 0x2c
ret
mov ebx, dword [esp + 0x1c]
mov eax, edx
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
add esp, 0x2c
jmp sym._dlmalloc
mov eax, dword [esp + 0x14]
sub eax, 4
jmp 0x610c5640
mov edx, dword [esp + 0x14]
mov ecx, dword [0x61149dac]
add edx, ecx
cmp edx, ebx
jbe 0x610c561d
and eax, 1
mov ecx, edx
or eax, ebx
or eax, 2
sub ecx, ebx
lea edx, [esi + ebx]
mov dword [esi + 4], eax
mov eax, ecx
or eax, 1
or dword [esi + ebx + 4], 1
mov dword [edi + 0x18], edx
mov dword [edx + 4], eax
mov dword [edi + 0xc], ecx
mov edi, esi
jmp 0x610c5560
xor eax, eax
mov edi, eax
jmp 0x610c5560
call sym.cygwin1.dll_abort
nop
nop
lea esi, [esi]