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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3c
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
test byte [eax + 0x38], 0x40
jne 0x4879bf
mov eax, dword [ebx + 0x14]
test eax, 0x800000
je 0x4879bf
mov edx, dword [ebx + 0x24]
test edx, edx
je 0x4878e0
test ah, 0x80
jne 0x4878e0
mov edi, dword [ebx + 0x78]
test edi, edi
je 0x4878e0
test al, 4
jne 0x4878e0
mov ecx, dword [ebx + 0x3c]
mov dword [ebp - 0x20], ecx
mov esi, edi
shr esi, cl
test esi, esi
jne 0x4877da
lea ecx, [edi - 1]
test ecx, edi
jne 0x4878e0
test eax, 0x1000000
je 0x4878e0
mov esi, 1
mov cl, byte [ebp - 0x20]
shl esi, cl
cmp edi, esi
ja 0x4878d4
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx]
test esi, esi
je 0x48790c
mov dword [ebp - 0x24], edx
jmp 0x48780a
mov esi, dword [esi]
test esi, esi
je 0x48790c
mov edx, dword [esi + 4]
test edx, edx
je 0x487800
mov edx, dword [edx + 4]
mov ecx, dword [edx + 0x14]
xor ecx, eax
and ecx, 0x1800000
jne 0x487800
cmp edi, dword [edx + 0x78]
jne 0x487800
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [edx + 0x3c]
jne 0x487800
mov ecx, dword [ebx + 0x38]
cmp dword [edx + 0x38], ecx
jne 0x487800
mov edx, dword [ebp - 0x24]
add edx, 0x17
test eax, 0x1000000
je 0x487846
add edx, dword [ebx + 0x78]
mov dword [esp + 4], edx
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
call fcn.00434224
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
test eax, eax
je 0x4878c5
mov edx, dword [esi + 4]
test edx, edx
je 0x487904
mov ecx, dword [edx]
mov dword [eax], ecx
mov dword [edx], eax
mov dword [esi + 4], eax
mov dword [eax + 4], ebx
mov ecx, dword [ebp + 0x14]
mov dword [eax + 8], ecx
mov edx, dword [esi + 8]
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], 0
mov esi, dword [ebx + 0x24]
mov dword [ebx + 0x28], esi
test byte [ebx + 0x17], 1
jne 0x4878f0
lea edx, [eax + 0x14]
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
mov eax, dword [ebx + 0x94]
mov dword [esp], eax
call fcn.004320ac
test eax, eax
jne 0x4878e0
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
xor eax, eax
jmp 0x4878e5
lea ecx, [esi - 1]
test ecx, edi
je 0x4877ec
nop
mov eax, 1
add esp, 0x3c
pop ebx
pop esi
pop edi
leave
ret
mov ecx, dword [ebx + 0x78]
lea edx, [eax + 0x14]
lea esi, [edx + esi]
xor eax, eax
mov edi, esi
rep stosb byte es:[edi], al
mov esi, dword [ebx + 0x24]
jmp 0x487897
mov dword [eax], eax
jmp 0x48786f
mov dword [esp + 4], 0xc
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00434224
mov esi, eax
test eax, eax
je 0x4878c5
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [esi], eax
mov dword [esi + 4], 0
mov dword [edx], esi
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x20], eax
mov dword [esp], 0x30
call fcn.00437dcc
mov edi, eax
test eax, eax
je 0x4879b3
mov dword [esp + 0xc], 0x413b
mov dword [esp + 8], 0x20
mov dword [esp + 4], 0x487704
mov dword [esp], eax
call fcn.00437458
test eax, eax
je 0x4879ab
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov edx, dword [ebp - 0x20]
mov dword [edi + 0x28], edx
mov eax, dword [ebp - 0x1c]
and eax, 0x1000000
mov dword [edi + 0x2c], eax
mov dword [esi + 8], edi
mov edx, dword [ebx + 0x24]
mov eax, dword [ebx + 0x14]
jmp 0x487839
mov dword [esp], edi
call sub.msvcrt.dll_free
mov dword [esi + 8], 0
jmp 0x4878c5
mov dword [esp + 8], str._bfd_add_merge_section
mov dword [esp + 4], 0x162
mov dword [esp], str..._.._bfd_merge.c
call fcn.00432418
nop