Function at 0x610c50b0
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 0x610c5290
cmp edx, 0xffffffbf
mov edi, 0x61147f50
ja 0x610c5200
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 [0x61147f60], esi
mov dword [esp + 0x14], edx
lea edx, [esi + edx]
ja 0x610c5302
test al, 2
je 0x610c5302
cmp esi, edx
jae 0x610c5302
test byte [edx + 4], 1
je 0x610c5302
cmp ebp, 0xa
mov ebx, 0x10
ja 0x610c51a0
test al, 1
jne 0x610c51aa
test byte [esi], 1
je 0x610c51aa
mov edx, eax
and edx, 0xfffffffc
cmp ebx, 0xf8
jbe 0x610c522d
lea eax, [ebx + 4]
cmp eax, edx
ja 0x610c52f9
mov eax, dword [0x61147f38]
sub edx, ebx
add eax, eax
cmp edx, eax
ja 0x610c52f9
mov eax, esi
mov edi, eax
lea esi, [esi]
lea edi, [edi]
test edi, edi
je 0x610c522d
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x610c5189
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 0x610c512d
cmp dword [esp + 0x14], ebx
jb 0x610c5221
mov ecx, dword [esp + 0x14]
mov edi, esi
sub ecx, ebx
cmp ecx, 0xf
jbe 0x610c5170
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 0x610c522d
test edx, edx
mov eax, edx
je 0x610c5189
call sym._dlfree
jmp 0x610c5189
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 [0x61147f68], edx
je 0x610c52b9
mov eax, ebp
call sym._dlmalloc
test eax, eax
mov ebx, eax
je 0x610c5275
test byte [esi + 4], 1
jne 0x610c52b0
test byte [esi], 1
je 0x610c52b0
mov eax, dword [esp + 0x14]
sub eax, 8
lea esi, [esi]
cmp ebp, eax
mov edx, ebp
jbe 0x610c5258
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 0x610c5250
mov edx, dword [esp + 0x14]
mov ecx, dword [0x61147f5c]
add edx, ecx
cmp edx, ebx
jbe 0x610c522d
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 0x610c5170
xor eax, eax
mov edi, eax
jmp 0x610c5170
call sym.cygwin1.dll_abort
nop
nop
lea esi, [esi]