Function at 0x40ec70
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov dword [ebp - 0x38], edx
mov edi, eax
mov eax, dword [eax + 4]
cmp eax, 0xf
jbe switch.0x0040ecb8
push ebx
push eax
push str.Fail_with__d_n
mov ecx, dword [0x5da360]
push ecx
call fcn.0040ec50
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.0041a8d0
add esp, 0x10
lea esi, [esi]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
jmp dword [eax*4 + 0x5035ac]
mov eax, dword [0x5da2f0]
test eax, eax
je 0x40ecb0
mov eax, dword [0x5da2e0]
test eax, eax
jne 0x40f39a
sub esp, 0xc
push str._CONSTRUCTORS_n
call fcn.0041a7b0
add esp, 0x10
mov edx, dword [ebp - 0x38]
mov eax, dword [0x5da2f0]
jmp 0x40edcf
mov esi, dword [edi + 0x1c]
cmp edi, dword [0x5da240]
je 0x40edca
push eax
push eax
mov eax, dword [edi + 0x18]
push eax
push 0x5034ec
call fcn.0041a7b0
add esp, 0x10
test esi, esi
je 0x40edc5
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
sub esp, 0xc
mov dword [0x5d4398], eax
mov dword [0x5d439c], edx
mov eax, dword [edi + 0x18]
push eax
call sub.msvcrt.dll_strlen
add esp, 0x10
mov ebx, eax
cmp eax, 0xe
jg 0x40f5bc
inc ebx
call fcn.00419df0
cmp ebx, 0xf
jle 0x40ed47
mov ecx, dword [0x5d42b8]
mov edx, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
sub esp, 0xc
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
je 0x40ed6f
mov eax, edx
xor edx, edx
push edx
push eax
mov eax, dword [esi + 0x24]
push eax
mov eax, dword [esi + 0x20]
push eax
push str.0x_V__W
call fcn.0041a7b0
mov ecx, dword [esi + 0x28]
mov ebx, dword [esi + 0x2c]
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
xor edx, ebx
xor eax, ecx
add esp, 0x20
or edx, eax
je 0x40edaa
push esi
push ebx
push ecx
push str._load_address_0x_V
call fcn.0041a7b0
add esp, 0x10
mov eax, dword [edi + 0x34]
test eax, eax
je 0x40edc5
push edx
push 0x5d4398
push 0x4eeb50
push eax
call fcn.004196d0
add esp, 0x10
call fcn.00419dd0
mov eax, dword [edi + 8]
mov edx, edi
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040f630
call fcn.00419df0
mov ebx, 1
inc ebx
call fcn.00419df0
cmp ebx, 0x10
jne 0x40ede5
mov edx, dword [edi + 8]
cmp dword [edx + 0xc], 8
je 0x40f3c4
mov eax, dword [edx + 0x10]
cmp byte [eax], 0x2e
je 0x40f59e
mov dword [0x5da538], eax
xor ebx, ebx
mov edx, dword [edi + 8]
mov ecx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
mov esi, dword [ebp - 0x38]
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x40f5b2
cmp edx, 5
je 0x40f53f
push esi
push 0x5d4398
push eax
push ecx
call fcn.004196d0
mov ecx, dword [0x5da550]
add esp, 0x10
test ecx, ecx
je 0x40f549
mov eax, dword [edi + 8]
mov byte [ebp - 0x11], bl
cmp dword [eax + 0xc], 8
je 0x40ee6c
test bl, bl
jne 0x40ee6c
mov edx, dword [0x5da538]
test edx, edx
je 0x40f5c8
mov eax, dword [0x5da54c]
mov ebx, dword [0x5da540]
mov esi, dword [0x5da544]
test eax, eax
je 0x40ee87
add ebx, dword [eax + 0x20]
adc esi, dword [eax + 0x24]
push eax
push esi
push ebx
push str.0x_V
call fcn.0041a7b0
add esp, 0x10
cmp byte [ebp - 0x11], 0
je 0x40eea9
mov dword [0x5d4398], ebx
mov dword [0x5d439c], esi
sub esp, 0xc
mov dword [0x5da538], 0
push str.
call fcn.0041a7b0
pop eax
mov eax, dword [edi + 8]
push eax
jmp 0x40ef12
mov edx, dword [edi + 8]
test edx, edx
je 0x40ecb0
mov eax, dword [edi + 0x10]
test eax, eax
je 0x40eee3
test byte [eax + 0x2a], 2
jne 0x40ecb0
push eax
push edx
push str.LOAD__s_n
mov eax, dword [0x5da360]
push eax
call fcn.0040ec50
add esp, 0x10
jmp 0x40ecb0
push eax
push eax
mov eax, dword [edi + 8]
push eax
push str.Address_of_section__s_set_to
call fcn.0041a7b0
pop eax
mov eax, dword [edi + 0xc]
push eax
call fcn.00417080
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00419dd0
call fcn.00419df0
mov eax, dword [edi + 0xc]
test eax, eax
jne 0x40f3af
mov eax, dword [edi + 8]
test eax, eax
je 0x40f3d3
push esi
push esi
push eax
push 0x502e81
call fcn.0041a7b0
add esp, 0x10
mov ebx, dword [edi + 0xc]
test ebx, ebx
jne 0x40f577
sub esp, 0xc
push 0x503436
call fcn.0041a7b0
mov esi, dword [edi + 0x10]
add esp, 0x10
test esi, esi
je 0x40f014
mov ecx, dword [esi + 0xc]
test ecx, ecx
jne 0x40f515
mov eax, dword [esi + 8]
test eax, eax
je 0x40efce
push edx
push edx
mov eax, dword [eax]
push eax
push str.EXCLUDE_FILE__s
call fcn.0041a7b0
mov eax, dword [esi + 8]
mov ebx, dword [eax + 4]
add esp, 0x10
test ebx, ebx
je 0x40efbe
push eax
push eax
mov eax, dword [ebx]
push eax
push 0x503448
call fcn.0041a7b0
mov ebx, dword [ebx + 4]
add esp, 0x10
test ebx, ebx
jne 0x40efa5
sub esp, 0xc
push 0x50344c
call fcn.0041a7b0
add esp, 0x10
mov eax, dword [esi + 4]
test eax, eax
je 0x40f52a
push ebx
push ebx
push eax
push 0x502e81
call fcn.0041a7b0
add esp, 0x10
mov ecx, dword [esi + 0xc]
test ecx, ecx
jne 0x40f500
mov edx, dword [esi]
test edx, edx
je 0x40f014
sub esp, 0xc
push 0x50344f
call fcn.0041a7b0
mov esi, dword [esi]
add esp, 0x10
test esi, esi
jne 0x40ef77
sub esp, 0xc
push 0x503434
call fcn.0041a7b0
call fcn.00419dd0
add esp, 0x10
mov eax, dword [edi + 0x18]
mov edx, dword [ebp - 0x38]
jmp 0x40edcf
mov eax, dword [edi + 8]
xor edx, edx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040e950
sub esp, 0xc
push str._CREATE_OBJECT_SYMBOLS_n
call fcn.0041a7b0
add esp, 0x10
jmp 0x40ecb0
mov eax, dword [0x5da360]
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 0x40f09e
lea ebx, [eax + 4]
lea esi, [esi]
push eax
xor eax, eax
mov al, byte [ebx]
inc ebx
push eax
push 0x503495
mov edi, dword [0x5da360]
push edi
call fcn.0040ec50
add esp, 0x10
dec esi
jne 0x40f080
push ecx
push ecx
mov edx, dword [0x5da360]
push edx
push 0xa
call sub.msvcrt.dll_fputc
add esp, 0x10
jmp 0x40ecb0
call fcn.0040aff0
mov ebx, 1
call fcn.00419df0
inc ebx
call fcn.00419df0
cmp ebx, 0x10
jne 0x40f0c5
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x24]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], eax
mov eax, dword [edi + 0x18]
test eax, eax
je 0x40f0ef
mov edx, dword [eax + 0x20]
mov ecx, dword [eax + 0x24]
add dword [ebp - 0x30], edx
adc dword [ebp - 0x2c], ecx
mov eax, dword [edi + 8]
sub eax, 0x11a
cmp eax, 4
jbe switch.0x0040f393
push eax
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.00430620
call fcn.0040aff0
mov ebx, 1
call fcn.00419df0
inc ebx
call fcn.00419df0
cmp ebx, 0x10
jne 0x40f124
mov edx, dword [edi + 0x30]
mov ecx, dword [edi + 0x34]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
mov eax, dword [edi + 0x28]
test eax, eax
je 0x40f14e
mov edx, dword [eax + 0x20]
mov ecx, dword [eax + 0x24]
add dword [ebp - 0x28], edx
adc dword [ebp - 0x24], ecx
sub esp, 0xc
mov ecx, dword [edi + 0xc]
xor esi, esi
push ecx
call fcn.0043c480
mov ebx, eax
pop eax
mov eax, dword [edi + 0xc]
pop edx
mov edx, esi
mov eax, dword [eax + 0x20]
push eax
mov eax, ebx
mov ecx, dword [0x5d42b8]
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
je 0x40f17f
mov eax, edx
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
push str.0x_V__W_RELOC__s
call fcn.0041a7b0
mov eax, dword [edi + 0x14]
add esp, 0x20
test eax, eax
je 0x40f3e8
push edx
push edx
push eax
push 0x5034d7
call fcn.0041a7b0
add esp, 0x10
sub esp, 0xc
mov edi, dword [edi + 0x18]
push edi
call fcn.00417080
call fcn.00419dd0
mov ecx, dword [0x5d42b8]
shrd ebx, esi, cl
shr esi, cl
test cl, 0x20
je 0x40f1d6
mov ebx, esi
xor esi, esi
add ebx, dword [ebp - 0x28]
adc esi, dword [ebp - 0x24]
add esp, 0x10
mov dword [0x5d4398], ebx
mov dword [0x5d439c], esi
jmp 0x40ecb0
push eax
mov edi, dword [edi + 8]
push edi
push str.TARGET__s__n
mov esi, dword [0x5da360]
push esi
call fcn.0040ec50
add esp, 0x10
jmp 0x40ecb0
push ebx
push ebx
mov ecx, dword [edi + 8]
push ecx
push str.OUTPUT__s
call fcn.0041a7b0
mov eax, dword [0x5da250]
add esp, 0x10
test eax, eax
je 0x40f23a
push edx
push edx
push eax
push 0x503448
call fcn.0041a7b0
add esp, 0x10
sub esp, 0xc
push 0x50356a
call fcn.0041a7b0
add esp, 0x10
jmp 0x40ecb0
call fcn.0040aff0
sub esp, 0xc
push str._fill
mov ebx, 8
call fcn.0041a7b0
call fcn.00419df0
add esp, 0x10
nop
inc ebx
call fcn.00419df0
cmp ebx, 0x10
jne 0x40f270
mov eax, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], eax
mov eax, dword [edi + 0x18]
test eax, eax
je 0x40f29a
mov edx, dword [eax + 0x20]
mov ecx, dword [eax + 0x24]
add dword [ebp - 0x20], edx
adc dword [ebp - 0x1c], ecx
mov ecx, dword [0x5d42b8]
mov edx, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
sub esp, 0xc
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
je 0x40f2b7
mov eax, edx
xor edx, edx
push edx
push eax
mov ebx, dword [ebp - 0x1c]
push ebx
mov ecx, dword [ebp - 0x20]
push ecx
push 0x5034e3
call fcn.0041a7b0
mov eax, dword [edi + 0x1c]
mov esi, dword [eax]
add esp, 0x20
test esi, esi
je 0x40f2f7
lea ebx, [eax + 4]
xor eax, eax
push edx
mov al, byte [ebx]
inc ebx
push eax
push 0x503495
mov eax, dword [0x5da360]
push eax
call fcn.0040ec50
add esp, 0x10
dec esi
jne 0x40f2da
call fcn.00419dd0
mov ecx, dword [0x5d42b8]
mov edx, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
je 0x40f316
mov eax, edx
xor edx, edx
add dword [ebp - 0x20], eax
adc dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [0x5d4398], eax
mov dword [0x5d439c], edx
jmp 0x40ecb0
push eax
push eax
push str.START_GROUP_n
mov eax, dword [0x5da360]
push eax
call fcn.0040ec50
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x38]
call fcn.0040f630
pop edi
pop eax
push str.END_GROUP_n
mov esi, dword [0x5da360]
push esi
call fcn.0040ec50
add esp, 0x10
jmp 0x40ecb0
mov ebx, dword [edi + 0xc]
mov eax, dword [edi + 8]
mov edx, str.BEFORE
test ebx, ebx
jne 0x40f37e
mov edx, str.AFTER
push ecx
push eax
push edx
push str.INSERT__s__s_n
call fcn.0041a7b0
add esp, 0x10
jmp 0x40ecb0
jmp dword [eax*4 + 0x5035ec]
sub esp, 0xc
push str._SORT__CONSTRUCTORS__n
call fcn.0041a7b0
add esp, 0x10
jmp 0x40ece5
sub esp, 0xc
push str.SORT_
call fcn.0041a7b0
add esp, 0x10
jmp 0x40ef36
mov ecx, dword [edx + 0x10]
xor bl, bl
mov edx, 8
jmp 0x40ee19
sub esp, 0xc
push 0x5033b2
call fcn.0041a7b0
add esp, 0x10
jmp 0x40ef51
push eax
push eax
mov eax, dword [edi + 0x10]
mov eax, dword [eax]
push eax
push 0x5034d7
call fcn.0041a7b0
add esp, 0x10
jmp 0x40f1b1
mov ebx, 1
xor esi, esi
mov dword [ebp - 0x34], 0x5034a5
mov ecx, dword [0x5d42b8]
mov eax, 1
shl eax, cl
xor edx, edx
cmp esi, 0
ja 0x40f42c
cmp ebx, eax
jae 0x40f42c
mov ebx, eax
mov esi, edx
mov eax, dword [edi + 0x14]
mov edx, esi
push eax
mov eax, dword [edi + 0x10]
push eax
mov eax, dword [ebp - 0x34]
push eax
mov eax, ebx
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
je 0x40f44a
mov eax, edx
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x30]
push eax
push str.0x_V__W__s_0x_v
call fcn.0041a7b0
mov eax, dword [edi + 0xc]
add esp, 0x20
cmp dword [eax + 0xc], 7
je 0x40f47e
call fcn.00419df0
sub esp, 0xc
mov edi, dword [edi + 0xc]
push edi
call fcn.00417080
add esp, 0x10
call fcn.00419dd0
mov ecx, dword [0x5d42b8]
shrd ebx, esi, cl
shr esi, cl
test cl, 0x20
je 0x40f497
mov ebx, esi
xor esi, esi
add dword [ebp - 0x30], ebx
adc dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [0x5d4398], eax
mov dword [0x5d439c], edx
jmp 0x40ecb0
mov ebx, 2
xor esi, esi
mov dword [ebp - 0x34], 0x5034aa
jmp 0x40f410
mov ebx, 4
xor esi, esi
mov dword [ebp - 0x34], 0x5034b0
jmp 0x40f410
mov ebx, 8
xor esi, esi
mov dword [ebp - 0x34], 0x50349f
jmp 0x40f410
mov ebx, 8
xor esi, esi
mov dword [ebp - 0x34], 0x50349a
jmp 0x40f410
sub esp, 0xc
push 0x503434
call fcn.0041a7b0
add esp, 0x10
jmp 0x40eff4
sub esp, 0xc
push str.SORT_
call fcn.0041a7b0
add esp, 0x10
jmp 0x40ef82
sub esp, 0xc
push 0x5033b2
call fcn.0041a7b0
add esp, 0x10
jmp 0x40efe9
mov dword [0x5da550], 0
mov eax, dword [edi + 8]
cmp dword [eax + 0xc], 5
je 0x40f58c
sub esp, 0xc
push str.undef
call fcn.0041a7b0
add esp, 0x10
sub esp, 0xc
push 0x50353a
call fcn.0041a7b0
add esp, 0x10
jmp 0x40eea9
sub esp, 0xc
push 0x503434
call fcn.0041a7b0
add esp, 0x10
jmp 0x40ef5c
sub esp, 0xc
push str.__provide_
call fcn.0041a7b0
add esp, 0x10
jmp 0x40f562
cmp byte [eax + 1], 0
jne 0x40ee09
mov ebx, 1
jmp 0x40ee13
mov eax, 0x4eeb50
jmp 0x40ee27
call fcn.00419dd0
xor ebx, ebx
jmp 0x40ed47
sub esp, 0xc
push 1
push 0
push 0
mov esi, dword [eax + 0x10]
push esi
mov ebx, dword [0x5da4a0]
push ebx
call fcn.004398f0
add esp, 0x20
mov ecx, eax
test eax, eax
je 0x40f617
mov ebx, dword [ecx + 0x14]
mov edx, dword [ecx + 0x1c]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebx + 0x58]
add eax, dword [ecx + 0x20]
adc edx, dword [ecx + 0x24]
push ecx
add eax, dword [ebx + 0x50]
adc edx, dword [ebx + 0x54]
push edx
push eax
push str._0x_V_
call fcn.0041a7b0
add esp, 0x10
jmp 0x40eea9
sub esp, 0xc
push str._unresolved_
call fcn.0041a7b0
add esp, 0x10
jmp 0x40eea9