Function at 0x603f03c0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x34
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
push 0x603ee4eb
push edi
call sym.exchndl.dll_bfd_get_section_by_name
add esp, 0x10
mov edi, eax
mov edx, 0x14
test eax, eax
je 0x603f0650
mov eax, dword [eax + 0x6c]
test eax, eax
je 0x603f0650
mov eax, dword [eax + 0x24]
test eax, eax
je 0x603f0650
mov eax, dword [eax]
mov ecx, edx
xor edx, edx
mov dword [ebp - 0x18], eax
div ecx
test edx, edx
jne 0x603f065a
push esi
push 0x3a
push 1
push 0x603f0290
call sub.msvcrt.dll_fwrite
push esi
push 0x7b
push 1
push 0x603f02d0
call sub.msvcrt.dll_fwrite
add esp, 0x20
test byte [edi + 0x14], 2
jne 0x603f0673
mov ebx, dword [edi + 0x24]
mov eax, 1
test ebx, ebx
jne 0x603f0458
lea esi, [esi]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
sub esp, 0xc
push ebx
call sym.exchndl.dll_bfd_malloc
add esp, 0x10
mov dword [ebp - 0x10], eax
xor eax, eax
mov edx, dword [ebp - 0x10]
test edx, edx
je 0x603f0450
sub esp, 0xc
mov eax, dword [ebp - 0x10]
push ebx
mov ebx, dword [ebp + 8]
push 0
push eax
push edi
push ebx
call sym.exchndl.dll_bfd_get_section_contents
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], 0
add esp, 0x20
cmp dword [ebp - 0x14], eax
jae 0x603f0643
lea esi, [esi]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
add edx, 0x14
mov dword [ebp - 0x30], edx
cmp edx, ecx
ja 0x603f0643
mov edx, dword [ebp + 8]
sub esp, 0xc
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x10]
mov eax, dword [edx + 4]
add ebx, ecx
push ebx
call dword [eax + 0x28]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x1c], eax
lea eax, [ebx + 4]
mov dword [esp], eax
call dword [edx + 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
lea eax, [ebx + 8]
mov dword [esp], eax
call dword [edx + 0x28]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x24], eax
lea eax, [ebx + 0xc]
mov dword [esp], eax
add ebx, 0x10
call dword [edx + 0x28]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [edx + 4]
mov dword [esp], ebx
call dword [eax + 0x28]
mov edx, dword [ebp - 0x1c]
add esp, 0x10
test edx, edx
mov dword [ebp - 0x2c], eax
jne 0x603f0540
mov ebx, dword [ebp - 0x20]
test ebx, ebx
jne 0x603f0540
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x603f0540
mov edx, dword [ebp - 0x28]
test edx, edx
jne 0x603f0540
test eax, eax
je 0x603f0643
nop
lea esi, [esi]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
and ebx, 1
and eax, 3
shl ebx, 2
or ebx, eax
mov eax, dword [ebp - 0x24]
and eax, 0xfffffffc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x2c]
and eax, 0xfffffffc
mov dword [ebp - 0x2c], eax
push eax
push eax
push esi
push 0x20
call sub.msvcrt.dll_fputc
mov eax, dword [ebp - 0x14]
mov ecx, dword [edi + 0x18]
add esp, 0xc
add eax, ecx
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
push ecx
push 0x603efbd3
push esi
call fcn.6041d180
pop eax
pop edx
push esi
push 9
call sub.msvcrt.dll_fputc
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
push ecx
push 0x603efbd3
push esi
call fcn.6041d180
pop eax
pop edx
push esi
push 0x20
call sub.msvcrt.dll_fputc
mov ecx, dword [ebp - 0x20]
add esp, 0xc
push ecx
push 0x603efbd3
push esi
call fcn.6041d180
pop eax
pop edx
push esi
push 0x20
call sub.msvcrt.dll_fputc
mov ecx, dword [ebp - 0x24]
add esp, 0xc
push ecx
push 0x603efbd3
push esi
call fcn.6041d180
pop eax
pop edx
push esi
push 0x20
call sub.msvcrt.dll_fputc
mov ecx, dword [ebp - 0x28]
add esp, 0xc
push ecx
push 0x603efbd3
push esi
call fcn.6041d180
pop eax
pop edx
push esi
push 0x20
call sub.msvcrt.dll_fputc
mov ecx, dword [ebp - 0x2c]
add esp, 0xc
push ecx
push 0x603efbd3
push esi
call fcn.6041d180
add esp, 0xc
push ebx
push 0x603f034c
push esi
call fcn.6041d180
pop eax
pop edx
push esi
push 0xa
call sub.msvcrt.dll_fputc
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
add esp, 0x10
mov dword [ebp - 0x14], eax
cmp eax, edx
jb 0x603f04a0
sub esp, 0xc
mov eax, dword [ebp - 0x10]
push eax
call sub.msvcrt.dll_free
nop
mov eax, 1
jmp 0x603f0450
mov ebx, dword [ebp - 0x18]
push 0x14
push ebx
push 0x603f0370
push esi
call fcn.6041d180
add esp, 0x10
jmp 0x603f0415
push ecx
push 0x603f03ac
push 0x618
push 0x603ef5b6
call sym.exchndl.dll__bfd_abort
inc ecx
inc edx
push ebx
dec edi
dec esp
push ebp
push esp
inc ebp
add byte [eax + 0x49], cl
inc edi
dec eax
add byte [edi + ecx*2 + 0x57], cl
add byte [eax + 0x49], cl
inc edi
dec eax
dec esp
dec edi
push edi
add byte [eax + 0x49], cl
inc edi
dec eax
inc ecx
inc esp
dec edx
add byte [ebp + 0x49], cl
push eax
push ebx
pop edi
dec edx
dec ebp
push eax
inc ecx
inc esp
inc esp
push edx
add byte [ebx + 0x45], dl
inc ebx
push esp
dec ecx
dec edi
dec esi
add byte [edx + 0x45], dl
dec esp
xor esi, dword [edx]
add byte [edx + 0x45], dl
push ebx
inc ebp
push edx
push esi
inc ebp
inc esp
xor dword [eax], eax
dec ebp
dec ecx
push eax
push ebx
pop edi
dec edx
dec ebp
push eax
inc ecx
inc esp
inc esp
push edx
xor dword [esi], esi
add byte [ecx + ecx*2 + 0x52], al
xor al, 0
dec eax
dec ecx
inc edi
dec eax
xor eax, dword [ecx + 0x44]
dec edx
push ebp
dec esi
dec ebx
dec esi
dec edi
push edi
dec esi
add byte [eax - 0x6f6f6f70], dl
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
aas
pushal
xchg ecx, eax
push es
aas
pushal
xchg esi, eax
push es
aas
pushal
lcall 0x3f06, 0xa2603f06
pushal
stosb byte es:[edi], al
push es
aas
pushal
mov bh, 6
aas
pushal
mov edi, 0xc5603f06
push es
aas
pushal
iretd