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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x38
mov eax, dword [ebp + 0xc]
push eax
call fcn.00413450
add esp, 0x10
test eax, eax
je 0x414684
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x41438a
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + 0x64]
test ebx, ebx
jne 0x41433a
jmp 0x41438a
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x41438a
cmp eax, dword [ebx + 0x3c]
jne 0x414333
mov edx, dword [ebp + 0xc]
sub esp, 0xc
mov eax, dword [edx + 4]
push edx
call dword [eax + 0x10c]
add esp, 0x10
mov edx, eax
test eax, eax
je 0x414684
mov ecx, dword [ebp + 0xc]
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0x4001
mov dword [edx + 0x10], ebx
mov eax, dword [ecx]
mov ecx, edx
mov dword [edx + 4], eax
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
call fcn.004134d0
test eax, eax
je 0x414684
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x78]
mov eax, dword [eax + 0x7c]
lea eax, [edi + eax*4]
mov dword [ebp - 0x1c], eax
cmp edi, eax
jae 0x414434
mov ebx, dword [edi]
mov edx, dword [ebx + 0xc]
test edx, 0x3882
jne 0x414441
mov eax, dword [ebx + 0x10]
cmp eax, 0x4842e8
je 0x414441
test byte [eax + 0x15], 0x10
jne 0x414441
cmp eax, 0x484438
je 0x414441
xor esi, esi
nop
mov edx, dword [ebp + 0x10]
mov al, byte [edx + 1]
and eax, 0x18
cmp al, 0x18
je 0x4143fb
cmp al, 0x10
je 0x41468e
mov eax, dword [ebx + 0xc]
test al, 0x82
je 0x414486
mov ecx, dword [ebp + 0xc]
cmp dword [ebx], ecx
je 0x4146b6
mov edx, dword [ebx + 0x10]
xor ecx, ecx
cmp edx, 0x484390
je 0x414420
mov eax, dword [edx + 0x3c]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x414570
cmp eax, dword [edx + 0x10]
setne al
test al, al
jne 0x414428
test ecx, ecx
jne 0x414500
add edi, 4
cmp dword [ebp - 0x1c], edi
ja 0x4143a1
lea esp, [ebp - 0xc]
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 0x14]
mov esi, eax
test eax, eax
je 0x414530
test esi, esi
je case.0x4144d5.1
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov eax, dword [edx + 0x30]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 4]
je 0x414612
cmp byte [esi + 0xc], 6
jbe 0x4144d0
push ecx
push str._bfd_generic_link_output_symbols
push 0x847
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_linker.c
call fcn.00405b30
mov edx, dword [ebx + 0x10]
cmp edx, 0x484438
je 0x4146af
test al, 4
je 0x414580
mov eax, dword [ebp + 0x10]
test byte [eax + 1], 0x18
jne 0x4144c8
mov ecx, 1
jmp 0x414400
test eax, eax
jne 0x41470e
mov eax, dword [edx + 0x94]
test byte [eax + 0x2a], 0x20
je 0x41470e
xor ecx, ecx
jmp 0x414400
xor eax, eax
mov al, byte [esi + 0xc]
jmp dword [eax*4 + 0x4986b8]
mov esi, dword [esi + 0x14]
mov eax, dword [ebx + 0xc]
or eax, 2
and eax, 0xfffff77f
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 0x18]
mov dword [ebx + 8], eax
mov eax, dword [esi + 0x14]
mov dword [ebx + 0x10], eax
jmp case.0x4144d5.1
mov ecx, ebx
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
call fcn.004134d0
test eax, eax
je 0x414684
test esi, esi
je 0x414428
mov dword [esi + 0x1c], 1
jmp 0x414428
and dh, 8
jne 0x4143cd
cmp dword [ebx + 0x10], 0x4842e8
je 0x4146eb
sub esp, 0xc
push 1
push 0
push 0
mov eax, dword [ebx + 4]
push eax
mov ecx, dword [ebp + 0x10]
mov esi, dword [ecx + 0x1c]
push esi
call fcn.00413390
add esp, 0x20
mov esi, eax
jmp 0x41444e
mov edx, dword [ebp + 8]
cmp eax, dword [edx + 0x68]
setne al
jmp 0x41441c
cmp edx, 0x4842e8
je 0x4146af
mov ecx, dword [edx + 0x14]
mov dword [ebp - 0x20], ecx
and ch, 0x10
jne 0x4144c8
test al, 1
je 0x4146cc
test ah, 0x10
jne 0x4144c8
mov eax, dword [ebp + 0x10]
mov al, byte [eax + 1]
shr al, 5
mov byte [ebp - 0x38], al
and eax, 3
cmp eax, 1
je 0x4144a6
cmp eax, 2
je 0x4145ee
test eax, eax
jne 0x4144c8
mov ecx, dword [ebp + 0x10]
mov al, byte [ecx]
and eax, 3
cmp al, 2
je 0x4144a6
test dword [ebp - 0x20], 0x800000
je 0x4144a6
push eax
push eax
push ebx
mov eax, dword [ebp + 0xc]
push eax
call fcn.0040b820
add esp, 0x10
test eax, eax
jne 0x4143fb
mov edx, dword [ebx + 0x10]
mov ecx, 1
jmp 0x414400
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x41446b
mov ebx, ecx
mov dword [edi], ecx
jmp 0x41446b
mov eax, dword [esi + 0x18]
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0xc]
or eax, 2
mov dword [ebx + 0xc], eax
mov eax, dword [ebx + 0x10]
test byte [eax + 0x15], 0x10
jne case.0x4144d5.1
cmp eax, 0x4842e8
je 0x41465d
push eax
push eax
push 0x861
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_linker.c
call fcn.00405080
add esp, 0x10
mov dword [ebx + 0x10], str.COM
jmp case.0x4144d5.1
mov eax, dword [ebx + 0xc]
or al, 0x80
and ah, 0xf7
jmp 0x4144ea
mov edx, dword [ebx + 0xc]
or dl, 0x80
mov dword [ebx + 0xc], edx
jmp case.0x4144d5.1
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
push 0
push 0
mov eax, dword [ebx + 4]
push eax
mov eax, dword [edx + 0x20]
push eax
call fcn.0040f420
add esp, 0x10
test eax, eax
jne 0x4143e5
jmp 0x4143fb
xor ecx, ecx
jmp 0x414408
test ah, 4
je 0x4143fb
mov edx, dword [ebx + 0x10]
mov ecx, 1
jmp 0x414400
test ah, 8
je 0x4144b0
mov ecx, dword [ebp + 0x10]
mov al, byte [ecx + 1]
and eax, 0x18
cmp al, 0x18
jne 0x4144a6
jmp 0x4144c8
push eax
push eax
push 1
push 0
push 0
mov eax, dword [ebx + 4]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00413990
add esp, 0x20
mov esi, eax
jmp 0x41444e
push ebx
push str._bfd_generic_link_output_symbols
push 0x8ba
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_linker.c
call fcn.00405b30
lea esi, [esi]
lea edi, [edi]
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
mov dword [eax + 0x7c], 0
mov dword [eax + 0x78], 0
mov dword [ebp - 0x10], 0
test ecx, ecx
je 0x414784
mov edx, dword [ecx + 0xa0]
test edx, edx
jne 0x41476a
jmp 0x41477d
mov edx, dword [edx]
test edx, edx
je 0x41477d
cmp dword [edx + 4], 1
jne 0x414764
mov eax, dword [edx + 0x10]
or byte [eax + 0x18], 2
mov edx, dword [edx]
test edx, edx
jne 0x41476a
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x414758
mov edx, dword [ebp + 0xc]
mov ebx, dword [edx + 0x34]
test ebx, ebx
je 0x4147bd
lea esi, [ebp - 0x10]
jmp 0x41479d
mov ebx, dword [ebx + 0x9c]
test ebx, ebx
je 0x4147c0
mov eax, dword [ebp + 0xc]
push esi
push eax
mov eax, dword [ebp + 8]
push ebx
push eax
call fcn.00414300
add esp, 0x10
test eax, eax
jne 0x414793
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea esi, [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], edx
push eax
mov eax, dword [ebp + 0xc]
push 0x413530
mov dword [ebp - 0x14], esi
mov edi, dword [eax + 0x1c]
push edi
call fcn.00412860
xor ecx, ecx
mov edx, esi
mov eax, dword [ebp + 8]
call fcn.004134d0
add esp, 0x10
test eax, eax
je 0x4147b3
mov edx, dword [ebp + 0xc]
mov al, byte [edx]
and eax, 3
cmp al, 2
je 0x4148a1
mov edx, dword [ebp + 8]
mov esi, dword [edx + 0x64]
test esi, esi
je 0x414879
mov ebx, dword [esi + 0xa0]
test ebx, ebx
jne 0x414848
jmp 0x414872
sub eax, 3
cmp eax, 1
ja 0x414852
mov eax, dword [ebp + 0xc]
push ebx
push esi
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004140b0
add esp, 0x10
test eax, eax
je 0x4147b3
mov ebx, dword [ebx]
test ebx, ebx
je 0x414872
mov eax, dword [ebx + 4]
cmp eax, 1
je 0x414883
jae 0x414820
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push ebx
push esi
push ecx
push edx
call fcn.00413ee0
add esp, 0x10
test eax, eax
je 0x4147b3
mov ebx, dword [ebx]
test ebx, ebx
jne 0x414848
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x414812
mov eax, 1
jmp 0x4147b5
mov ecx, esi
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push edi
push edi
push 1
push ebx
call fcn.00413b50
add esp, 0x10
test eax, eax
jne 0x414842
jmp 0x4147b3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x414879
mov edx, dword [ebp - 0x20]
mov ebx, dword [edx + 0xa0]
mov dword [edx + 0x4c], 0
test ebx, ebx
jne 0x4148cd
jmp 0x414922
dec edx
je 0x414938
mov ebx, dword [ebx]
test ebx, ebx
je 0x4148e8
mov edx, dword [ebx + 4]
lea eax, [edx - 3]
cmp eax, 1
ja 0x4148c4
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebx]
mov esi, dword [eax + 0x4c]
inc esi
test ebx, ebx
mov dword [eax + 0x4c], esi
jne 0x4148cd
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x4c]
test eax, eax
je 0x414922
shl eax, 2
push edx
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040a610
mov edx, dword [ebp - 0x20]
add esp, 0x10
test eax, eax
mov dword [edx + 0x48], eax
je 0x4147b3
mov eax, dword [edx + 0x14]
mov dword [edx + 0x4c], 0
or eax, 4
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x4148ae
jmp 0x414808
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x28], edx
mov eax, dword [edx + 0x94]
push ecx
mov dword [ebp - 0x24], eax
push ecx
push edx
push eax
call fcn.00405f70
add esp, 0x10
mov edi, eax
test eax, eax
js 0x4147b3
sub esp, 0xc
push eax
call fcn.0040eae0
add esp, 0x10
mov esi, eax
test eax, eax
je 0x4149c2
mov edx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x28]
mov eax, dword [edx + 0x78]
push eax
push esi
push edi
push edx
call fcn.00405f30
mov dword [esp], esi
mov edi, eax
call sub.msvcrt.dll_free
add esp, 0x10
test edi, edi
js 0x4147b3
mov eax, dword [ebp - 0x28]
cmp edi, dword [eax + 0x4c]
je 0x4149b2
push esi
push esi
push 0x792
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_linker.c
call fcn.00405080
add esp, 0x10
mov edx, dword [ebp - 0x20]
mov ecx, dword [edx + 0x4c]
add ecx, edi
mov dword [edx + 0x4c], ecx
jmp 0x4148c7
test edi, edi
jne 0x4147b3
jmp 0x41496f