Function at 0x40e0c0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xc
mov dword [ebp - 0x14], edx
mov edi, eax
mov eax, dword [eax + 4]
cmp eax, 0xf
jbe switch.0x0040e108
push ebx
push eax
push str.Fail_with__d_n
mov ecx, dword [0x521eb0]
push ecx
call fcn.0040e0a0
pop eax
pop edx
push 0x118b
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_ld_ldlang.c
call fcn.00419100
add esp, 0x10
lea esi, [esi]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
jmp dword [eax*4 + 0x4b84d0]
mov eax, dword [0x521e40]
test eax, eax
je 0x40e100
mov eax, dword [0x521e30]
test eax, eax
jne 0x40e732
sub esp, 0xc
push str._CONSTRUCTORS_n
call fcn.00418fe0
add esp, 0x10
mov edx, dword [ebp - 0x14]
mov eax, dword [0x521e40]
jmp 0x40e1f0
mov esi, dword [edi + 0x1c]
cmp edi, dword [0x521d90]
je 0x40e1eb
push eax
push eax
mov eax, dword [edi + 0x18]
push eax
push 0x4b841c
call fcn.00418fe0
add esp, 0x10
test esi, esi
je 0x40e1e6
sub esp, 0xc
mov eax, dword [esi + 0x1c]
mov dword [0x51c398], eax
mov eax, dword [edi + 0x18]
push eax
call sub.msvcrt.dll_strlen
add esp, 0x10
mov ebx, eax
cmp eax, 0xe
jg 0x40e8ef
inc ebx
call fcn.00418650
cmp ebx, 0xf
jle 0x40e18a
push eax
mov ecx, dword [0x51c2b8]
mov eax, dword [esi + 0x24]
shr eax, cl
push eax
mov eax, dword [esi + 0x1c]
push eax
push str.0x_V__W
call fcn.00418fe0
mov eax, dword [esi + 0x20]
add esp, 0x10
cmp dword [esi + 0x1c], eax
je 0x40e1cb
push ebx
push ebx
push eax
push str._load_address_0x_V
call fcn.00418fe0
add esp, 0x10
mov eax, dword [edi + 0x34]
test eax, eax
je 0x40e1e6
push ecx
push 0x51c398
push 0x4a54f0
push eax
call fcn.00417f40
add esp, 0x10
call fcn.00418630
mov eax, dword [edi + 8]
mov edx, edi
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040e960
call fcn.00418650
mov ebx, 1
inc ebx
call fcn.00418650
cmp ebx, 0x10
jne 0x40e206
mov edx, dword [edi + 8]
cmp dword [edx + 0xc], 8
je 0x40e75c
mov eax, dword [edx + 0x10]
cmp byte [eax], 0x2e
je 0x40e8d1
mov dword [0x522068], eax
xor ebx, ebx
mov edx, dword [edi + 8]
mov ecx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x40e8e5
cmp edx, 5
je 0x40e87f
push edx
push 0x51c398
push eax
push ecx
call fcn.00417f40
mov esi, dword [0x522078]
add esp, 0x10
test esi, esi
je 0x40e889
mov eax, dword [edi + 8]
mov esi, ebx
cmp dword [eax + 0xc], 8
je 0x40e28c
test bl, bl
jne 0x40e28c
mov ecx, dword [0x522068]
test ecx, ecx
je 0x40e8fb
mov eax, dword [0x522074]
mov ebx, dword [0x52206c]
test eax, eax
je 0x40e2a0
mov edx, dword [eax + 0x1c]
add ebx, edx
push eax
push eax
push ebx
push str.0x_V
call fcn.00418fe0
mov eax, esi
add esp, 0x10
test al, al
je 0x40e2bc
mov dword [0x51c398], ebx
sub esp, 0xc
mov dword [0x522068], 0
push 0x4b846a
call fcn.00418fe0
pop eax
mov eax, dword [edi + 8]
push eax
jmp 0x40e325
mov edx, dword [edi + 8]
test edx, edx
je 0x40e100
mov eax, dword [edi + 0x10]
test eax, eax
je 0x40e2f6
test byte [eax + 0x2a], 2
jne 0x40e100
push eax
push edx
push str.LOAD__s_n
mov eax, dword [0x521eb0]
push eax
call fcn.0040e0a0
add esp, 0x10
jmp 0x40e100
push edx
push edx
mov eax, dword [edi + 8]
push eax
push str.Address_of_section__s_set_to
call fcn.00418fe0
pop eax
mov eax, dword [edi + 0xc]
push eax
call fcn.00415ed0
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00418630
call fcn.00418650
mov eax, dword [edi + 0xc]
test eax, eax
jne 0x40e747
mov eax, dword [edi + 8]
test eax, eax
je 0x40e76b
push esi
push esi
push eax
push 0x4b7db9
call fcn.00418fe0
add esp, 0x10
mov ebx, dword [edi + 0xc]
test ebx, ebx
jne 0x40e8a7
sub esp, 0xc
push 0x4b8366
call fcn.00418fe0
mov esi, dword [edi + 0x10]
add esp, 0x10
test esi, esi
je 0x40e42f
lea esi, [esi]
mov ecx, dword [esi + 0xc]
test ecx, ecx
jne 0x40e855
mov eax, dword [esi + 8]
test eax, eax
je 0x40e3e9
push edx
push edx
mov eax, dword [eax]
push eax
push str.EXCLUDE_FILE__s
call fcn.00418fe0
mov eax, dword [esi + 8]
mov ebx, dword [eax + 4]
add esp, 0x10
test ebx, ebx
je 0x40e3d9
nop
push eax
push eax
mov ecx, dword [ebx]
push ecx
push 0x4b8378
call fcn.00418fe0
mov ebx, dword [ebx + 4]
add esp, 0x10
test ebx, ebx
jne 0x40e3c0
sub esp, 0xc
push 0x4b837c
call fcn.00418fe0
add esp, 0x10
mov eax, dword [esi + 4]
test eax, eax
je 0x40e86a
push edx
push edx
push eax
push 0x4b7db9
call fcn.00418fe0
add esp, 0x10
mov ebx, dword [esi + 0xc]
test ebx, ebx
jne 0x40e840
mov ecx, dword [esi]
test ecx, ecx
je 0x40e42f
sub esp, 0xc
push 0x4b837f
call fcn.00418fe0
mov esi, dword [esi]
add esp, 0x10
test esi, esi
jne 0x40e390
sub esp, 0xc
push 0x4b8364
call fcn.00418fe0
call fcn.00418630
add esp, 0x10
mov eax, dword [edi + 0x18]
mov edx, dword [ebp - 0x14]
jmp 0x40e1f0
mov eax, dword [edi + 8]
xor edx, edx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040de00
sub esp, 0xc
push str._CREATE_OBJECT_SYMBOLS_n
call fcn.00418fe0
add esp, 0x10
jmp 0x40e100
mov eax, dword [0x521eb0]
push eax
push 0xd
push 1
push str._FILL_mask_0x
call sub.msvcrt.dll_fwrite
mov eax, dword [edi + 8]
mov esi, dword [eax]
add esp, 0x10
test esi, esi
je 0x40e4b5
lea ebx, [eax + 4]
push eax
xor eax, eax
mov al, byte [ebx]
inc ebx
push eax
push str._02x
mov eax, dword [0x521eb0]
push eax
call fcn.0040e0a0
add esp, 0x10
dec esi
jne 0x40e498
push edi
push edi
mov esi, dword [0x521eb0]
push esi
push 0xa
call sub.msvcrt.dll_fputc
add esp, 0x10
jmp 0x40e100
call fcn.0040adb0
mov ebx, 1
call fcn.00418650
lea esi, [esi]
inc ebx
call fcn.00418650
cmp ebx, 0x10
jne 0x40e4e0
mov eax, dword [edi + 0x14]
mov esi, dword [edi + 0x18]
test eax, eax
je 0x40e4fa
mov ebx, dword [eax + 0x1c]
add esi, ebx
mov eax, dword [edi + 8]
sub eax, 0x11a
cmp eax, 4
jbe switch.0x0040e72b
push ecx
push str.print_data_statement
push 0x10c5
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_ld_ldlang.c
call fcn.00424270
call fcn.0040adb0
mov ebx, 1
call fcn.00418650
nop
inc ebx
call fcn.00418650
cmp ebx, 0x10
jne 0x40e530
mov eax, dword [edi + 0x20]
mov esi, dword [edi + 0x24]
test eax, eax
je 0x40e54a
mov edx, dword [eax + 0x1c]
add esi, edx
sub esp, 0xc
mov eax, dword [edi + 0xc]
push eax
call fcn.0042f2b0
mov ebx, eax
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x20]
push eax
mov eax, ebx
mov ecx, dword [0x51c2b8]
shr eax, cl
push eax
push esi
push str.0x_V__W_RELOC__s
call fcn.00418fe0
mov eax, dword [edi + 0x14]
add esp, 0x20
test eax, eax
je 0x40e780
push ecx
push ecx
push eax
push 0x4b8407
call fcn.00418fe0
add esp, 0x10
sub esp, 0xc
mov eax, dword [edi + 0x18]
push eax
call fcn.00415ed0
call fcn.00418630
mov ecx, dword [0x51c2b8]
shr ebx, cl
add esp, 0x10
lea eax, [ebx + esi]
mov dword [0x51c398], eax
jmp 0x40e100
push eax
mov edi, dword [edi + 8]
push edi
push str.TARGET__s__n
mov esi, dword [0x521eb0]
push esi
call fcn.0040e0a0
add esp, 0x10
jmp 0x40e100
push ebx
push ebx
mov ecx, dword [edi + 8]
push ecx
push str.OUTPUT__s
call fcn.00418fe0
mov eax, dword [0x521da0]
add esp, 0x10
test eax, eax
je 0x40e606
push edx
push edx
push eax
push 0x4b8378
call fcn.00418fe0
add esp, 0x10
sub esp, 0xc
push 0x4b8491
call fcn.00418fe0
add esp, 0x10
jmp 0x40e100
call fcn.0040adb0
sub esp, 0xc
push str._fill
mov ebx, 8
call fcn.00418fe0
call fcn.00418650
add esp, 0x10
lea esi, [esi]
inc ebx
call fcn.00418650
cmp ebx, 0x10
jne 0x40e640
mov eax, dword [edi + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0x10]
test eax, eax
je 0x40e663
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x10]
add eax, edx
mov dword [ebp - 0x10], eax
push eax
mov ecx, dword [0x51c2b8]
mov eax, dword [edi + 0xc]
shr eax, cl
push eax
mov eax, dword [ebp - 0x10]
push eax
push 0x4b8413
call fcn.00418fe0
mov eax, dword [edi + 0x14]
mov esi, dword [eax]
add esp, 0x10
test esi, esi
je 0x40e6ab
lea ebx, [eax + 4]
push eax
xor eax, eax
mov al, byte [ebx]
inc ebx
push eax
push str._02x
mov ecx, dword [0x521eb0]
push ecx
call fcn.0040e0a0
add esp, 0x10
dec esi
jne 0x40e68d
call fcn.00418630
mov eax, dword [edi + 0xc]
mov ecx, dword [0x51c2b8]
mov edx, dword [ebp - 0x10]
shr eax, cl
add eax, edx
mov dword [0x51c398], eax
jmp 0x40e100
push eax
push eax
push str.START_GROUP_n
mov eax, dword [0x521eb0]
push eax
call fcn.0040e0a0
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x14]
call fcn.0040e960
pop edi
pop eax
push str.END_GROUP_n
mov esi, dword [0x521eb0]
push esi
call fcn.0040e0a0
add esp, 0x10
jmp 0x40e100
mov ebx, dword [edi + 0xc]
mov eax, dword [edi + 8]
mov edx, str.BEFORE
test ebx, ebx
jne 0x40e716
mov edx, str.AFTER
push ecx
push eax
push edx
push str.INSERT__s__s_n
call fcn.00418fe0
add esp, 0x10
jmp 0x40e100
jmp dword [eax*4 + 0x4b8510]
sub esp, 0xc
push str._SORT__CONSTRUCTORS__n
call fcn.00418fe0
add esp, 0x10
jmp 0x40e135
sub esp, 0xc
push str.SORT_
call fcn.00418fe0
add esp, 0x10
jmp 0x40e349
mov ecx, dword [edx + 0x10]
xor bl, bl
mov edx, 8
jmp 0x40e23a
sub esp, 0xc
push 0x4b82e2
call fcn.00418fe0
add esp, 0x10
jmp 0x40e364
push edx
push edx
mov eax, dword [edi + 0x10]
mov eax, dword [eax]
push eax
push 0x4b8407
call fcn.00418fe0
add esp, 0x10
jmp 0x40e593
mov ebx, 1
mov eax, 0x4b83d5
mov ecx, dword [0x51c2b8]
mov edx, 1
shl edx, cl
cmp ebx, edx
jae 0x40e7b7
mov ebx, edx
sub esp, 0xc
mov edx, dword [edi + 0x10]
push edx
push eax
mov eax, ebx
shr eax, cl
push eax
push esi
push str.0x_V__W__s_0x_v
call fcn.00418fe0
mov eax, dword [edi + 0xc]
add esp, 0x20
cmp dword [eax + 0xc], 7
je 0x40e7ef
call fcn.00418650
sub esp, 0xc
mov ecx, dword [edi + 0xc]
push ecx
call fcn.00415ed0
add esp, 0x10
call fcn.00418630
mov ecx, dword [0x51c2b8]
shr ebx, cl
lea eax, [ebx + esi]
mov dword [0x51c398], eax
jmp 0x40e100
mov ebx, 2
mov eax, 0x4b83da
jmp 0x40e7a4
mov ebx, 4
mov eax, 0x4b83e0
jmp 0x40e7a4
mov ebx, 8
mov eax, 0x4b83cf
jmp 0x40e7a4
mov ebx, 8
mov eax, 0x4b83ca
jmp 0x40e7a4
sub esp, 0xc
push 0x4b8364
call fcn.00418fe0
add esp, 0x10
jmp 0x40e40f
sub esp, 0xc
push str.SORT_
call fcn.00418fe0
add esp, 0x10
jmp 0x40e39b
sub esp, 0xc
push 0x4b82e2
call fcn.00418fe0
add esp, 0x10
jmp 0x40e404
mov dword [0x522078], 0
mov eax, dword [edi + 8]
cmp dword [eax + 0xc], 5
je 0x40e8bc
sub esp, 0xc
push str.undef
call fcn.00418fe0
add esp, 0x10
jmp 0x40e2bc
sub esp, 0xc
push 0x4b8364
call fcn.00418fe0
add esp, 0x10
jmp 0x40e36f
sub esp, 0xc
push str.__provide_
call fcn.00418fe0
add esp, 0x10
jmp 0x40e2bc
cmp byte [eax + 1], 0
jne 0x40e22a
mov ebx, 1
jmp 0x40e234
mov eax, 0x4a54f0
jmp 0x40e248
call fcn.00418630
xor ebx, ebx
jmp 0x40e18a
sub esp, 0xc
push 1
push 0
push 0
mov eax, dword [eax + 0x10]
push eax
mov eax, dword [0x521fdc]
push eax
call fcn.0042ca90
add esp, 0x20
mov edx, eax
test eax, eax
je 0x40e944
mov ecx, dword [edx + 0x14]
mov eax, dword [eax + 0x18]
mov edx, dword [ecx + 0x3c]
mov esi, dword [edx + 0x1c]
push ebx
push ebx
add eax, esi
mov edx, dword [ecx + 0x38]
add eax, edx
push eax
push str._0x_V_
call fcn.00418fe0
add esp, 0x10
jmp 0x40e2bc
sub esp, 0xc
push str._unresolved_
call fcn.00418fe0
add esp, 0x10
jmp 0x40e2bc