Function at 0x4031a0
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
push edi
mov ebp, edx
push esi
push ebx
mov ebx, ecx
sub esp, 0xac
mov edx, dword [edx + 4]
mov dword [esp + 0x20], eax
mov eax, dword [eax + 4]
mov edx, dword [edx + 8]
mov eax, dword [eax + 8]
cmp eax, edx
setne cl
cmp eax, 2
setne al
test cl, al
je 0x4031f0
cmp edx, 2
je 0x4031f0
mov dword [esp], str.Unable_to_change_endianness_of_input_file_s_
call fcn.0041ec10
xor edx, edx
add esp, 0xac
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 0x28]
mov dword [esp], ebp
and eax, 7
mov dword [esp + 4], eax
call fcn.004275d0
test eax, eax
je 0x403613
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x64]
test ecx, ecx
je 0x403830
mov edi, dword [esp + 0x20]
mov eax, dword [edi + 4]
cmp dword [eax + 4], 5
je 0x40326e
mov edx, dword [0x4e4078]
cmp edx, 1
je 0x403260
and edx, 1
je 0x403260
mov dword [esp], edi
call fcn.0041f460
mov dword [esp], str.__compress_debug_sections_zlibzlib_gnuzlib_gabi__is_unsupported_on___s
mov dword [esp + 4], eax
call fcn.0041ec10
xor edx, edx
jmp 0x4031e0
mov edx, dword [0x4e4074]
test edx, edx
jne 0x4035f0
mov edi, dword [0x4e40e4]
test edi, edi
jne 0x403650
mov esi, dword [0x4e4020]
xor eax, eax
test esi, esi
jne 0x4032a1
mov ecx, dword [0x4e40b4]
mov eax, dword [0x4e40b0]
test ecx, ecx
je 0x4035e0
add eax, dword [0x4e40b8]
movzx edx, byte [ebp + 0x28]
and edx, 7
cmp dl, 3
je 0x403312
mov edi, dword [esp + 0x20]
mov ecx, dword [ebp + 4]
mov edi, dword [edi + 0x28]
mov esi, edi
mov dword [esp + 0x24], edi
shr esi, 5
and esi, 0xfffff
or esi, dword [0x4e4094]
mov edx, esi
mov esi, dword [0x4e4090]
not esi
and esi, dword [ecx + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ebp
and esi, edx
mov edx, esi
and edx, 0xfffffffe
cmp dword [0x4e40cc], 7
cmove esi, edx
call fcn.00424d50
test eax, eax
je 0x4035a3
mov dword [esp + 4], esi
mov dword [esp], ebp
call fcn.00423fa0
test eax, eax
je 0x4035a3
mov edi, dword [esp + 0x20]
mov dword [esp], edi
call fcn.00423c40
mov dword [esp], edi
mov dword [esp + 0x20], edi
mov esi, eax
call fcn.00423c50
test ebx, ebx
mov edi, eax
je 0x40335f
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00423c80
test eax, eax
je 0x403359
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00423c80
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x403805
mov esi, dword [ebx + 0xc]
mov edi, dword [ebx + 0x10]
mov eax, dword [ebp + 4]
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], ebp
call dword [eax + 0x154]
test eax, eax
mov edx, eax
jne 0x4033f0
mov eax, dword [esp + 0x20]
test byte [eax + 0x2b], 4
jne 0x4033a5
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], edx
mov dword [esp], eax
call fcn.00423c40
mov dword [esp], ebp
mov ebx, eax
call fcn.00423c40
cmp ebx, eax
mov edx, dword [esp + 0x24]
je 0x4033f0
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], edx
mov dword [esp], eax
call fcn.00423c40
test eax, eax
mov edx, dword [esp + 0x24]
jne 0x403690
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], edx
mov dword [esp], eax
call fcn.0041f460
mov dword [esp], str.Unable_to_recognise_the_format_of_the_input_file___s
mov dword [esp + 4], eax
call fcn.0041ec10
mov edx, dword [esp + 0x24]
jmp 0x4031e0
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 0x28]
mov dword [esp], ebp
and eax, 7
mov dword [esp + 4], eax
call fcn.004275d0
test eax, eax
je 0x4035a3
mov eax, dword [ebp + 4]
cmp dword [eax + 4], 2
jne 0x403554
mov esi, dword [eax]
mov edx, str.pei_
mov ecx, 4
mov edi, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x403554
mov edi, dword [esp + 0x20]
mov eax, dword [ebp + 0xa0]
mov ecx, dword [edi + 4]
cmp dword [ecx + 4], 2
je 0x404691
mov edx, dword [0x4b1854]
cmp edx, 0xffffffff
je 0x40467d
mov dword [eax + 0xa4], edx
mov ecx, dword [0x4b1850]
cmp ecx, 0xffffffff
je 0x40346f
mov dword [eax + 0xd4], ecx
mov ecx, dword [0x4b184c]
cmp ecx, 0xffffffff
je 0x403480
mov dword [eax + 0xd4], ecx
mov ecx, dword [0x4b1848]
cmp ecx, 0xffffffff
je 0x403491
mov dword [eax + 0x9c], ecx
mov ecx, dword [0x4b1844]
cmp ecx, 0xffffffff
je 0x404669
mov dword [eax + 0xa0], ecx
mov ebx, dword [0x4b1840]
cmp ebx, 0xffffffff
je 0x4034b7
mov dword [eax + 0xcc], ebx
mov ebx, dword [0x4b183c]
cmp ebx, 0xffffffff
je 0x4034c8
mov dword [eax + 0xcc], ebx
movzx ebx, word [0x4b1838]
cmp bx, 0xffff
je 0x4034dc
mov word [eax + 0xc4], bx
movzx ebx, word [0x4b1836]
cmp bx, 0xffff
je 0x4034f0
mov word [eax + 0xb0], bx
movzx ebx, word [0x4b1834]
cmp bx, 0xffff
je 0x403504
mov word [eax + 0xb2], bx
cmp ecx, edx
jae 0x403554
lea ebx, [esp + 0x78]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x4b5dc8
lea esi, [esp + 0x8c]
mov dword [esp], ebx
call sub.msvcrt.dll_sprintf
mov eax, dword [0x4b1844]
mov dword [esp + 4], 0x4b5dc8
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.msvcrt.dll_sprintf
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], str.warning:_file_alignment__0x_s____section_alignment__0x_s_
call fcn.0041ec10
mov ebx, dword [0x4e40f0]
test ebx, ebx
je 0x403566
mov dword [esp], ebx
call fcn.004abfa8
mov eax, dword [0x4e40ec]
cmp ebx, eax
je 0x403577
mov dword [esp], eax
call fcn.004abfa8
mov edi, dword [esp + 0x20]
mov dword [0x4e40f0], 0
mov dword [0x4e40ec], 0
mov eax, dword [edi + 4]
mov dword [esp], edi
call dword [eax + 0x104]
test eax, eax
jns 0x4036d0
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.0041f550
add esp, 0xac
xor edx, edx
pop ebx
mov eax, edx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x74]
jmp 0x40329b
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.0041f460
mov dword [esp], str.__elf_stt_common_yesno__is_unsupported_on___s
mov dword [esp + 4], eax
call fcn.0041ec10
xor edx, edx
jmp 0x4031e0
mov dword [esp + 0x20], eax
mov dword [esp + 0xc], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp], 0
call fcn.0041f550
mov edx, dword [esp + 0x20]
add esp, 0xac
pop ebx
pop esi
mov eax, edx
pop edi
pop ebp
ret
mov edx, dword [ebp + 4]
mov esi, dword [ebp]
mov edi, dword [edx]
mov edx, dword [eax]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], edx
mov dword [esp], eax
call fcn.0041f460
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov dword [esp], str.copy_from___s___s__to___s___s__n
mov dword [esp + 8], edx
call sub.msvcrt.dll_printf
jmp 0x40327c
mov edi, dword [esp + 0x20]
mov dword [esp + 0x24], edx
mov dword [esp], edi
call fcn.00423c50
mov dword [esp], edi
mov ebx, eax
call fcn.00423c40
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00423cd0
mov dword [esp], str.Output_file_cannot_represent_architecture___s
mov dword [esp + 4], eax
call fcn.0041ec10
mov edx, dword [esp + 0x24]
jmp 0x4031e0
mov dword [esp], eax
call fcn.004a91f0
mov edx, dword [edi + 4]
mov dword [0x4e40f0], eax
mov dword [0x4e40ec], eax
mov dword [esp + 4], eax
mov dword [esp], edi
call dword [edx + 0x108]
test eax, eax
mov dword [esp + 0x34], eax
js 0x4035a3
je 0x403a30
mov eax, dword [esp + 0x20]
mov dword [esp + 8], ebp
mov dword [esp + 4], 0x402760
mov dword [esp], eax
call fcn.0042b160
mov eax, dword [0x4e4020]
test eax, eax
je 0x4039e0
mov ebx, dword [0x4e408c]
test ebx, ebx
jne 0x4037e4
jmp 0x403850
mov esi, dword [eax + 0x18]
or esi, 0x100
mov eax, dword [ebx + 4]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.0042aaf0
test eax, eax
jne 0x403a8c
or esi, 0x100000
mov dword [esp + 8], esi
mov eax, dword [ebx + 4]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.0042afe0
test eax, eax
mov dword [ebx + 0x14], eax
je 0x403aba
mov edx, dword [ebx + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebp
mov dword [esp + 8], edx
call fcn.0042b220
test eax, eax
je 0x403a60
mov eax, dword [ebx + 4]
xor edx, edx
mov ecx, 0xc
call fcn.00401730
test eax, eax
je 0x4037c2
mov edx, dword [eax + 0x10]
mov eax, dword [ebx + 0x14]
or byte [eax + 0x18], 1
mov dword [eax + 0x20], edx
mov dword [eax + 0x1c], edx
mov eax, dword [ebx + 4]
xor edx, edx
mov ecx, 0x30
call fcn.00401730
test eax, eax
je 0x4037de
mov edx, dword [ebx + 0x14]
mov eax, dword [eax + 0x14]
mov dword [edx + 0x20], eax
mov ebx, dword [ebx]
test ebx, ebx
je 0x403850
mov eax, dword [ebx + 4]
xor edx, edx
mov ecx, 0x40
call fcn.00401730
test eax, eax
jne 0x403740
mov esi, 0x128
jmp 0x403749
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.0041f460
mov dword [esp], str.Input_file___s_ignores_binary_architecture_parameter.
mov dword [esp + 4], eax
call fcn.0041ec10
jmp 0x40335f
mov dword [esp], eax
call fcn.0041f460
mov dword [esp], str.error:_the_input_file__s_has_no_sections
mov dword [esp + 4], eax
call fcn.0041ec10
xor edx, edx
jmp 0x4031e0
mov ebx, dword [0x4e4088]
mov edi, dword [esp + 0x20]
test ebx, ebx
je 0x40389e
nop
mov eax, dword [ebx + 4]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0042aaf0
test eax, eax
mov dword [ebx + 0x14], eax
je 0x403cd9
mov esi, dword [eax + 0x3c]
mov eax, dword [ebx + 0xc]
mov dword [esp], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], esi
call fcn.0042b220
test eax, eax
je 0x403cb0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x403860
mov eax, dword [0x4e40d8]
test eax, eax
jne 0x4046cc
mov edi, dword [0x4e4084]
test edi, edi
je 0x403afb
mov dword [esp + 0x28], ebp
mov esi, dword [esp + 0x20]
mov ebp, edi
jmp 0x4038ec
mov dword [esp + 0xc], str.cant_dump_section___it_is_empty
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.0041f550
mov ebp, dword [ebp]
test ebp, ebp
je 0x403af7
mov eax, dword [ebp + 4]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0042aaf0
test eax, eax
mov ebx, eax
je 0x403acb
test byte [eax + 0x15], 1
je 0x4039a0
mov edi, dword [eax + 0x24]
test edi, edi
je 0x4038c5
mov dword [esp + 4], 0x4b5f69
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
test eax, eax
mov dword [esp + 0x24], eax
je 0x403c88
lea eax, [esp + 0x8c]
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.0042b500
test eax, eax
je 0x4039c1
mov eax, dword [esp + 0x24]
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
cmp edi, eax
jne 0x404a53
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call fcn.004abfa8
jmp 0x4038e1
mov dword [esp + 0xc], str.cant_dump_section___it_has_no_contents
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.0041f550
jmp 0x4038e1
mov dword [esp + 0xc], str.could_not_retrieve_section_contents
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.0041f550
jmp 0x40397b
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x20]
mov dword [esp + 4], ebp
mov dword [esp], edi
call dword [eax + 0xbc]
test eax, eax
jne 0x403729
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], str.error_in_private_header_data
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [0x4e40dc], 1
mov dword [esp + 4], eax
call fcn.0041f550
jmp 0x403729
mov eax, dword [0x4e40f0]
mov dword [esp], eax
call fcn.004abfa8
mov dword [0x4e40f0], 0
mov dword [0x4e40ec], 0
jmp 0x403704
mov dword [esp + 0x20], eax
mov dword [esp + 0xc], 0
mov eax, dword [ebx + 0x14]
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], 0
call fcn.0041f550
mov edx, dword [esp + 0x20]
jmp 0x4031e0
mov eax, dword [ebx + 4]
mov dword [esp + 0xc], str.cant_add_section__s
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 0
call fcn.0041f550
xor edx, edx
jmp 0x4031e0
mov eax, dword [ebx + 4]
mov dword [esp + 0xc], str.cant_create_section___s
mov dword [esp + 0x10], eax
jmp 0x403a9b
mov eax, dword [ebp + 4]
mov dword [esp + 0xc], str.cant_dump_section__s___it_does_not_exist
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], 0
mov dword [esp + 0x10], eax
call fcn.0041f550
jmp 0x4038e1
mov ebp, dword [esp + 0x28]
mov eax, dword [0x4e4080]
test eax, eax
je 0x403b39
mov dword [esp + 4], 0x4b5fe8
mov dword [esp], ebp
call fcn.0042aaf0
test eax, eax
je 0x4049ae
mov eax, dword [ebp]
mov dword [esp], str._s:_debuglink_section_already_exists
mov dword [esp + 4], eax
call fcn.0041ec10
mov dword [0x4e4080], 0
mov dword [esp + 0x5c], 0
mov ebx, dword [ebp + 0x6c]
test ebx, ebx
je 0x403cf3
mov eax, dword [0x4e40a8]
test eax, eax
jne 0x403b62
mov eax, dword [0x4e40a0]
test eax, eax
je 0x403cf3
lea eax, [ebx*4]
mov dword [esp], eax
mov esi, eax
mov dword [esp + 0x28], eax
call fcn.004a91f0
mov edi, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x8c]
mov dword [esp + 4], 0x401570
mov dword [esp], ebp
mov dword [esp + 8], eax
call fcn.0042b160
mov dword [esp + 0xc], 0x401580
mov dword [esp + 8], 4
mov dword [esp + 4], ebx
mov dword [esp], edi
call sub.msvcrt.dll_qsort
mov dword [esp], esi
call fcn.004a91f0
mov ecx, eax
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 0x54], eax
call sub.msvcrt.dll_memset
mov eax, dword [0x4e40a8]
mov dword [esp + 0x58], 0
test eax, eax
je 0x404746
sub ebx, 1
mov esi, ebx
je 0x404746
mov ebx, 1
mov dword [esp + 0x2c], ebp
jmp 0x403c1e
add edi, 4
add ebx, 1
cmp edx, esi
jae 0x404742
mov eax, dword [edi]
mov edx, ebx
mov ecx, dword [eax + 0x14]
and ecx, 0x102
cmp ecx, 0x102
jne 0x403c10
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x20]
add edx, ecx
mov dword [esp + 0x24], edx
mov edx, dword [edi + 4]
mov ebp, dword [edx + 0x20]
cmp dword [esp + 0x24], ebp
mov edx, ebx
jae 0x403c10
sub ebp, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
add ecx, ebp
mov dword [esp], eax
mov dword [esp + 8], ecx
call fcn.0042b220
test eax, eax
je 0x40505b
mov eax, dword [esp + 0x54]
mov edx, ebx
mov dword [eax + ebx*4 - 4], ebp
mov eax, dword [esp + 0x58]
cmp eax, ebp
cmovae ebp, eax
mov dword [esp + 0x58], ebp
jmp 0x403c10
mov dword [esp + 0xc], str.could_not_open_section_dump_file
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0041f550
jmp 0x4038e1
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], ebp
mov dword [esp], 0
mov dword [esp + 0x20], eax
call fcn.0041f550
mov edx, dword [esp + 0x20]
jmp 0x4031e0
mov eax, dword [ebx + 4]
mov dword [esp], str.error:__s_not_found__cant_be_updated
mov dword [esp + 4], eax
call fcn.0041ec10
xor edx, edx
jmp 0x4031e0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x60], 0
mov ebx, dword [0x4e407c]
mov dword [esp + 0x50], 0
test ebx, ebx
jne 0x4047b6
mov eax, dword [0x4e40cc]
lea edx, [eax - 2]
cmp edx, 5
jbe 0x404362
cmp dword [0x4e40c8], 0
jne 0x403d48
cmp dword [0x4e4064], 0
je 0x40434c
mov eax, dword [0x4e40f0]
mov dword [esp + 4], 0x401af0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.0042b160
mov edi, dword [esp + 0x34]
mov eax, dword [0x4e4038]
add eax, edi
lea eax, [eax*4 + 4]
mov dword [esp], eax
call fcn.004a91f0
mov dword [esp + 0x48], eax
mov dword [0x4e40ec], eax
mov eax, dword [0x4e40f0]
mov dword [esp + 0x38], 0
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x24], eax
shr eax, 5
and eax, 0x42
test edi, edi
mov dword [esp + 0x4c], eax
je 0x4040cd
mov dword [esp + 0x2c], 0
mov dword [esp + 0x40], ebp
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x44]
mov ebx, dword [0x4e403c]
mov eax, dword [eax + ecx*4]
test ebx, ebx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x28], eax
mov esi, dword [eax + 4]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], eax
je 0x403e55
mov eax, dword [0x4e4038]
test eax, eax
mov dword [esp + 0x24], eax
jle 0x403e55
mov ebp, dword [ebx + 0x14]
test ebp, ebp
je 0x403e55
xor edi, edi
jmp 0x403e16
add edi, 1
cmp edi, dword [esp + 0x24]
mov ebx, dword [ebx]
je 0x403e55
mov ebp, dword [ebx + 0x14]
test ebp, ebp
je 0x403e55
mov dword [esp + 4], esi
mov dword [esp], ebp
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x403e04
mov dword [esp], ebp
call fcn.004abfa8
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
mov dword [ebx + 0x14], 0x4b6075
lea ebp, [ecx + eax*4]
lea edi, [eax + 1]
mov eax, ebx
call fcn.004025d0
mov dword [esp + 0x38], edi
mov dword [ebp], eax
mov eax, dword [0x4e4044]
mov dword [esp], eax
call fcn.004a7150
test eax, eax
jne 0x403e74
mov ecx, dword [0x4e40f4]
test ecx, ecx
je 0x4042c0
lea eax, [esp + 0x8c]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], 0
mov dword [esp + 4], eax
mov eax, dword [0x4e4044]
mov dword [esp], eax
call fcn.004a7670
test eax, eax
je 0x404217
mov ebx, dword [eax + 4]
cmp esi, ebx
je 0x404219
mov eax, dword [esp + 0x28]
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
movzx eax, byte [eax + 0x18]
cmp byte [ebx], al
je 0x404170
mov edx, dword [0x4e4070]
test edx, edx
je 0x403ef0
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 4]
cmp byte [edx + 0x18], 0
je 0x403ef0
test al, al
je 0x4054fc
lea esi, [esi]
mov eax, dword [0x4e402c]
test eax, eax
mov esi, ebx
je 0x403f58
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp], ebx
mov esi, eax
call sub.msvcrt.dll_strlen
lea eax, [esi + eax + 2]
mov dword [esp], eax
call fcn.004a91f0
mov ebp, eax
mov esi, eax
mov edx, dword [0x4e402c]
test edx, edx
je 0x403f45
mov dword [esp + 4], edx
mov dword [esp], ebp
mov dword [esp + 0x24], edx
call sub.msvcrt.dll_strcpy
mov edx, dword [esp + 0x24]
mov dword [esp], edx
call sub.msvcrt.dll_strlen
add ebp, eax
mov dword [esp + 4], ebx
mov dword [esp], ebp
call sub.msvcrt.dll_strcpy
mov eax, dword [esp + 0x28]
mov dword [eax + 4], esi
cmp dword [0x4e40cc], 7
je 0x404025
mov eax, dword [esp + 0x30]
mov ebx, eax
and ebx, 0x20
jne 0x404131
test ah, 1
je 0x403f92
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x9c]
mov eax, dword [eax]
test byte [eax + 0xc], 0x20
jne 0x404131
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x403fae
test byte [esp + 0x30], 0x82
jne 0x404010
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
test byte [eax + 0x15], 0x10
jne 0x404010
mov edi, dword [esp + 0x28]
mov dword [esp], edi
call fcn.0042b790
cmp eax, 0x49
je 0x404010
test byte [esp + 0x30], 0x82
jne 0x4045ce
cmp dword [esp + 0x3c], 0x4b1948
je 0x4045ce
mov eax, dword [edi + 0x10]
test byte [eax + 0x15], 0x10
jne 0x4045ce
test byte [esp + 0x30], 4
je 0x404aae
mov eax, dword [0x4e40cc]
sub eax, 2
cmp eax, 1
jbe 0x404025
cmp dword [0x4e407c], 0
jne 0x404025
lea esi, [esi]
lea edi, [edi]
mov edx, dword [0x4e4060]
mov eax, esi
call fcn.00402650
test eax, eax
je 0x40414e
mov eax, dword [0x4e4030]
test eax, eax
je 0x404038
test dword [esp + 0x30], 0x4000
jne 0x404049
mov edx, dword [0x4e4058]
mov eax, esi
call fcn.00402650
test eax, eax
je 0x4040b6
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
call fcn.004026b0
test eax, eax
jne 0x4040b6
test byte [esp + 0x30], 2
je 0x404080
mov eax, dword [0x4e4034]
test eax, eax
je 0x4045b4
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x24], eax
and eax, 0xfffffffd
or al, 0x80
mov dword [edi + 0xc], eax
cmp dword [esp + 0x3c], 0x4b1948
je 0x4040a0
test byte [esp + 0x30], 0x82
jne 0x404293
test byte [esp + 0x30], 1
jne 0x404265
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x28]
mov dword [ecx + eax*4], edi
add eax, 1
mov dword [esp + 0x38], eax
add dword [esp + 0x2c], 1
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x34], eax
jne 0x403dc2
mov ebp, dword [esp + 0x40]
mov ebx, dword [0x4e403c]
test ebx, ebx
je 0x4042cb
mov edi, dword [0x4e4038]
test edi, edi
jle 0x4042cb
xor esi, esi
mov edx, dword [esp + 0x38]
jmp 0x40410b
cmp byte [eax], 0
jne 0x405183
add esi, 1
cmp esi, dword [0x4e4038]
mov ebx, dword [ebx]
jge 0x4042c7
mov eax, dword [ebx + 0x14]
test eax, eax
jne 0x4040f1
mov edi, dword [esp + 0x48]
lea eax, [edx + 1]
mov dword [esp + 0x24], eax
mov eax, ebx
lea edi, [edi + edx*4]
mov edx, ebp
call fcn.004025d0
mov edx, dword [esp + 0x24]
mov dword [edi], eax
jmp 0x4040fa
mov edx, dword [0x4e4060]
mov eax, esi
call fcn.00402650
test eax, eax
jne 0x4045e0
test ebx, ebx
jne 0x404049
mov edx, dword [0x4e405c]
mov eax, esi
call fcn.00402650
test eax, eax
jne 0x404025
jmp 0x404049
mov eax, dword [0x4e4070]
test eax, eax
jne 0x4041bc
mov eax, dword [0x4e406c]
test eax, eax
je 0x403ef0
test byte [esp + 0x30], 0x82
jne 0x4041a8
cmp dword [esp + 0x3c], 0x4b1948
je 0x4041a8
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
test byte [eax + 0x15], 0x10
je 0x403ef0
mov ecx, dword [esp + 0x28]
add ebx, 1
mov eax, dword [0x4e402c]
mov dword [ecx + 4], ebx
jmp 0x403ef5
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 4]
movzx edx, byte [eax + 0x18]
test dl, dl
je 0x4041a8
mov eax, dword [0x4e402c]
test eax, eax
je 0x4045a4
mov edi, dword [esp + 0x28]
add ebx, 1
mov dword [edi + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp], ebx
mov esi, eax
call sub.msvcrt.dll_strlen
lea eax, [esi + eax + 2]
mov dword [esp], eax
call fcn.004a91f0
mov esi, eax
lea ebp, [eax + 1]
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 4]
movzx eax, byte [eax + 0x18]
mov byte [esi], al
jmp 0x403f1d
mov ebx, esi
test dword [esp + 0x30], 0x100
je 0x403eb1
mov ebx, dword [0x4e40f4]
test ebx, ebx
jne 0x40424b
jmp 0x40489c
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x40489c
mov dword [esp + 4], esi
mov eax, dword [ebx]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x404240
mov ebx, dword [ebx + 4]
jmp 0x403eb1
mov edx, dword [0x4e4050]
mov eax, esi
call fcn.00402650
test eax, eax
je 0x4040a0
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x24], eax
and eax, 0xfffffffe
or eax, 2
mov dword [ecx + 0xc], eax
jmp 0x4040a0
mov edx, dword [0x4e4054]
mov eax, esi
call fcn.00402650
test eax, eax
je 0x4045ff
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x24], eax
and al, 0x7d
or eax, 1
mov dword [ecx + 0xc], eax
jmp 0x404095
mov ebx, esi
jmp 0x403eb8
mov dword [esp + 0x38], edx
mov esi, dword [0x4e407c]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
test esi, esi
mov dword [eax + edi*4], 0
je 0x40444f
mov ebx, dword [esp + 0x50]
test ebx, ebx
je 0x40444f
mov edx, dword [ebp + 4]
mov eax, dword [edx + 4]
cmp eax, 6
je 0x404bcb
cmp eax, 2
je 0x4047e4
cmp eax, 5
je 0x4047e4
mov eax, dword [edx]
mov dword [esp + 0xc], str.dont_know_how_to_write_debugging_information_for__s
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 0
mov dword [esp + 0x10], eax
call fcn.0041f550
mov dword [0x4e40dc], 1
xor edx, edx
jmp 0x4031e0
mov eax, dword [0x4e4060]
mov dword [esp], eax
call fcn.004a7150
test eax, eax
je 0x404370
mov eax, dword [0x4e40cc]
cmp eax, 7
je 0x403d65
jmp 0x403d48
mov eax, dword [0x4e4058]
mov dword [esp], eax
call fcn.004a7150
test eax, eax
jne 0x40435d
mov eax, dword [0x4e4054]
mov dword [esp], eax
call fcn.004a7150
test eax, eax
jne 0x40435d
mov eax, dword [0x4e4050]
mov dword [esp], eax
call fcn.004a7150
test eax, eax
jne 0x40435d
mov eax, dword [0x4e404c]
mov dword [esp], eax
call fcn.004a7150
test eax, eax
jne 0x40435d
mov eax, dword [0x4e4048]
mov dword [esp], eax
call fcn.004a7150
test eax, eax
jne 0x40435d
mov eax, dword [0x4e4044]
mov dword [esp], eax
call fcn.004a7150
test eax, eax
jne 0x40435d
cmp dword [0x4e402c], 0
jne 0x40435d
cmp dword [0x4e40c0], 0
jne 0x40435d
cmp dword [0x4e40bc], 0
jne 0x40435d
cmp dword [0x4e407c], 0
jne 0x40435d
cmp dword [0x4e4070], 0
jne 0x40435d
cmp dword [0x4e406c], 0
jne 0x40435d
cmp dword [0x4e40f4], 0
jne 0x40435d
cmp dword [0x4e4034], 0
jne 0x40435d
cmp dword [0x4e4038], 0
jne 0x40435d
mov edi, dword [esp + 0x34]
mov eax, dword [0x4e40ec]
mov dword [esp + 8], edi
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.0042b5b0
mov edi, dword [esp + 0x20]
mov dword [esp + 8], ebp
mov dword [esp + 4], 0x402f20
mov dword [esp], edi
call fcn.0042b160
mov dword [esp + 8], ebp
mov dword [esp + 4], 0x402ba0
mov dword [esp], edi
call fcn.0042b160
mov ebx, dword [0x4e408c]
test ebx, ebx
je 0x4044db
lea esi, [esi]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x14]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.0042b260
test eax, eax
je 0x403a60
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4044a0
mov ebx, dword [0x4e4088]
test ebx, ebx
je 0x404523
mov eax, dword [ebx + 0x14]
mov esi, dword [eax + 0x3c]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call fcn.0042b260
test eax, eax
je 0x403cb0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4044e5
mov ecx, dword [0x4e40d8]
test ecx, ecx
jne 0x404b04
mov eax, dword [0x4e4080]
test eax, eax
je 0x404556
mov dword [esp + 8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.0042a760
test eax, eax
je 0x404c34
mov edx, dword [0x4e40a8]
test edx, edx
jne 0x4048a3
cmp dword [0x4e40a0], 0
jne 0x4048a3
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x20]
mov dword [esp + 4], ebp
mov dword [esp], edi
call dword [eax + 0xa8]
test eax, eax
je 0x40508c
mov eax, dword [0x4e4098]
test eax, eax
jne 0x404be8
mov edx, 1
jmp 0x4031e0
mov eax, dword [esp + 0x28]
mov byte [ebx], dl
mov esi, ebx
mov dword [eax + 4], ebx
jmp 0x403f58
mov edx, dword [0x4e4048]
mov eax, esi
call fcn.00402650
test eax, eax
jne 0x40406d
jmp 0x404080
cmp dword [0x4e40cc], 3
je 0x404025
jmp 0x404010
mov dword [esp + 4], esi
mov dword [esp], str.not_stripping_symbol___s_because_it_is_named_in_a_relocation
call fcn.0041ec10
mov dword [0x4e40dc], 1
jmp 0x404146
mov eax, dword [0x4e404c]
mov dword [esp], eax
call fcn.004a7150
test eax, eax
jne 0x404a39
mov ebp, dword [0x4e4064]
test ebp, ebp
je 0x404095
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
test eax, eax
je 0x404095
mov edx, dword [eax + 4]
cmp dword [edx + 4], 5
jne 0x404095
cmp dword [eax + 0xa0], 0
je 0x404095
mov eax, dword [esp + 0x28]
movzx eax, byte [eax + 0x25]
mov byte [esp + 0x24], al
and eax, 3
sub eax, 1
cmp al, 1
ja 0x404095
jmp 0x4042a8
mov dword [0x4b1844], 0x1000
mov ecx, 0x1000
jmp 0x4034a6
mov dword [0x4b1854], 0x200
mov edx, 0x200
jmp 0x40345e
mov esi, dword [ecx]
mov edi, edx
mov ecx, 4
repe cmpsb byte [esi], byte es:[edi]
jne 0x403449
mov edi, dword [esp + 0x20]
mov edi, dword [edi + 0xa0]
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x24]
lea edi, [eax + 0x80]
lea esi, [ecx + 0x80]
mov ecx, 0x38
rep movsd dword es:[edi], dword [esi]
jmp 0x403449
mov ebx, dword [esp + 0x20]
mov dword [esp + 4], str..gnu.build.attributes
mov dword [esp], ebx
call fcn.0042aaf0
test eax, eax
mov dword [esp + 0x2c], eax
mov edi, eax
je 0x4038ab
lea ecx, [eax + 0x8c]
mov eax, ebx
mov edx, edi
add eax, 4
call fcn.004023c0
test eax, eax
je 0x4038ab
mov ecx, dword [edi + 0x24]
test ecx, ecx
mov dword [esp + 0x38], ecx
jne 0x404b65
mov dword [esp + 0xc], str.warning:_note_section_is_empty
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.0041f550
mov dword [0x4e40d8], 0
jmp 0x4038ab
mov ebp, dword [esp + 0x2c]
mov esi, dword [0x4e40a0]
test esi, esi
je 0x403d0b
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x28]
lea ebx, [eax + edi - 4]
mov eax, dword [0x4e409c]
mov edx, dword [ebx]
mov ecx, dword [edx + 0x20]
mov esi, dword [edx + 0x24]
add esi, ecx
cmp esi, eax
jae 0x403d0b
sub eax, ecx
mov dword [esp + 4], edx
mov dword [esp], ebp
mov dword [esp + 8], eax
call fcn.0042b220
test eax, eax
je 0x40509d
mov eax, dword [0x4e409c]
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
sub eax, esi
mov dword [edi + ecx - 4], eax
mov edi, dword [esp + 0x58]
cmp edi, eax
cmovae eax, edi
mov dword [esp + 0x58], eax
jmp 0x403d0b
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov eax, dword [0x4e40f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00406750
mov dword [esp + 0x50], eax
jmp 0x403d21
lea eax, [esp + 0x8c]
mov dword [esp], ebp
mov dword [esp + 0x14], eax
lea eax, [esp + 0x74]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x78]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x70]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
call fcn.0041e5a0
test eax, eax
je 0x40433b
mov dword [esp + 8], 0x2108
mov dword [esp + 4], 0x4b60cc
mov dword [esp], ebp
call fcn.0042afe0
mov dword [esp + 8], 0x2108
mov ebx, eax
mov dword [esp + 4], 0x4b60d2
mov dword [esp], ebp
call fcn.0042afe0
test ebx, ebx
mov esi, eax
je 0x404877
test eax, eax
je 0x404877
mov eax, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov dword [esp], ebp
mov dword [esp + 8], eax
call fcn.0042b220
test eax, eax
jne 0x4050eb
mov dword [esp + 0xc], str.cant_create_debugging_section
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 0
call fcn.0041f550
jmp 0x40433b
mov ebx, esi
jmp 0x403eb1
mov eax, dword [esp + 0x58]
mov ebx, 0x2000
cmp eax, 0x2000
cmovbe ebx, eax
mov dword [esp], ebx
call fcn.004a91f0
mov edi, eax
mov dword [esp + 0x24], eax
movzx eax, byte [0x4e40a4]
imul eax, eax, 0x1010101
cmp ebx, 4
jae 0x404a90
test ebx, ebx
je 0x4048e7
test bl, 2
mov byte [edi], al
jne 0x4051ec
mov eax, dword [ebp + 0x6c]
test eax, eax
mov dword [esp + 0x34], eax
je 0x404571
mov eax, dword [esp + 0x60]
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x30]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x404976
mov eax, dword [esp + 0x28]
xor edi, edi
mov eax, dword [eax]
mov esi, dword [eax + 0x24]
sub esi, ebx
jmp 0x404936
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], eax
cmp ebx, 0x2000
mov eax, dword [esp + 0x2c]
mov ebp, 0x2000
mov dword [esp + 0xc], esi
cmovbe ebp, ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebp
mov dword [esp + 8], ecx
mov dword [esp], eax
call fcn.0042b260
test eax, eax
je 0x404993
xor edx, edx
add esi, ebp
adc edi, edx
sub ebx, ebp
jne 0x404930
add dword [esp + 0x30], 1
add dword [esp + 0x28], 4
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x34], eax
jne 0x40490a
mov ebp, dword [esp + 0x2c]
jmp 0x404571
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], 0
mov ebp, dword [esp + 0x2c]
mov eax, dword [eax]
jmp 0x403a6f
mov eax, dword [0x4e4080]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.0042a6b0
test eax, eax
mov dword [esp + 0x5c], eax
je 0x4051d6
mov eax, dword [ebp + 4]
cmp dword [eax + 4], 2
jne 0x403b41
mov edx, dword [ebp + 0x64]
test edx, edx
je 0x4051cc
xor eax, eax
mov ecx, dword [edx + 0x1c]
test ecx, ecx
je 0x4049fa
test eax, eax
je 0x405054
cmp ecx, dword [eax + 0x1c]
cmova eax, edx
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x4049e5
test eax, eax
je 0x4051cc
mov edx, dword [eax + 0x24]
add edx, dword [eax + 0x1c]
lea ecx, [edx + 0xfff]
mov eax, ecx
and eax, 0xfffff000
cmp edx, ecx
mov edx, 0xffffffff
cmova eax, edx
mov ecx, dword [esp + 0x5c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x1c], eax
or byte [ecx + 0x18], 1
jmp 0x403b41
mov edx, dword [0x4e404c]
mov eax, esi
call fcn.00402650
test eax, eax
je 0x4042a8
jmp 0x404614
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp], str.error_writing_section_contents_to__s__error:__s_
mov dword [esp + 4], eax
call fcn.0041ec10
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call fcn.004abfa8
xor edx, edx
jmp 0x4031e0
mov ecx, dword [esp + 0x24]
lea edi, [ecx + 4]
mov dword [ecx], eax
mov dword [ecx + ebx - 4], eax
and edi, 0xfffffffc
sub ecx, edi
add ecx, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
jmp 0x4048e7
mov edi, dword [esp + 0x20]
mov edx, dword [edi + 4]
cmp dword [edx + 4], 2
je 0x404d0c
cmp dword [0x4e40cc], 3
je 0x404025
mov eax, dword [0x4e40c8]
cmp eax, 2
je 0x404025
sub eax, 1
jne 0x404010
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.0042b570
test eax, eax
je 0x404010
jmp 0x404025
mov dword [esp + 4], str..gnu.build.attributes
mov dword [esp], ebp
call fcn.0042aaf0
test eax, eax
mov ebx, eax
je 0x404b32
lea ecx, [eax + 0x8c]
lea eax, [ebp + 4]
mov edx, ebx
call fcn.004023c0
test eax, eax
jne 0x404ff5
cmp dword [0x4e40f8], 0
je 0x4050ca
mov eax, dword [0x4e40d4]
mov dword [esp], eax
call fcn.004abfa8
mov dword [0x4e40d4], 0
mov dword [0x4e40d8], 0
jmp 0x404531
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
mov dword [esp + 8], 0x4e40d4
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00426430
test eax, eax
jne 0x404c6a
mov dword [esp + 0xc], str.warning:_could_not_load_note_section
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.0041f550
mov eax, dword [0x4e40d4]
mov dword [esp], eax
call fcn.004abfa8
mov dword [0x4e40d4], 0
mov dword [0x4e40d8], 0
jmp 0x4038ab
mov eax, dword [esp + 0x50]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.00419ce0
test eax, eax
jne 0x40444f
jmp 0x40433b
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00425060
test eax, eax
jne 0x40459a
mov eax, dword [0x4e4098]
mov dword [esp], str.this_target_does_not_support__lu_alternative_machine_codes
mov dword [esp + 4], eax
call fcn.0041ec10
mov eax, dword [ebp + 4]
cmp dword [eax + 4], 5
je 0x405193
mov dword [esp], str.ignoring_the_alternative_value
call fcn.0041ec10
mov edx, 1
jmp 0x4031e0
mov dword [esp + 0x20], eax
mov eax, dword [0x4e4080]
mov dword [esp + 0xc], str.cannot_fill_debug_link_section___s
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 0
mov dword [esp + 0x10], eax
call fcn.0041f550
mov edx, dword [esp + 0x20]
jmp 0x4031e0
mov eax, dword [0x4e40d4]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00423f30
test eax, eax
jle 0x404d29
mov dword [esp], eax
call fcn.004a91f0
mov ebx, eax
mov eax, dword [0x4e40f0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00423f60
mov dword [esp], ebx
mov esi, eax
call fcn.004abfa8
test esi, esi
je 0x404d29
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004abfa8
mov eax, dword [0x4e40d4]
mov dword [esp], eax
call fcn.004abfa8
mov dword [0x4e40d4], 0
mov dword [0x4e40d8], 0
mov dword [0x4e40d0], 0
jmp 0x4038ab
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x404abf
cmp dword [eax + 0x24], 0
jne 0x404010
jmp 0x404abf
mov eax, dword [esp + 0x38]
mov ecx, 0xc
xor edx, edx
mov dword [esp + 4], 0x24
div ecx
mov dword [esp], eax
call fcn.004a9220
mov edi, dword [esp + 0x38]
mov dword [esp + 0x28], ebp
mov ebx, eax
mov esi, dword [esp + 0x48]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x3c], edi
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x4c], 0
cmp dword [esp + 0x3c], 0xb
jbe 0x405232
mov eax, dword [ebp + 4]
mov dword [esp], esi
lea edi, [esi + 8]
call dword [eax + 0x28]
lea ecx, [eax + 3]
mov eax, dword [ebp + 4]
lea edx, [esi + 4]
and ecx, 0xfffffffc
mov dword [ebx], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp], edx
call dword [eax + 0x28]
lea edx, [eax + 3]
mov eax, dword [ebp + 4]
and edx, 0xfffffffc
mov dword [ebx + 4], edx
mov dword [esp + 0x64], edx
mov dword [esp], edi
call dword [eax + 0x28]
mov dword [esp + 0x60], eax
mov dword [ebx + 8], eax
sub eax, 0x100
cmp eax, 1
ja 0x405208
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
lea eax, [ecx + edx]
lea edi, [eax + 0xc]
cmp edi, dword [esp + 0x3c]
mov dword [esp + 0x64], edi
ja 0x4051fa
cmp ecx, 1
jbe 0x405216
lea edi, [esi + 0xc]
mov dword [ebx + 0xc], edi
lea edi, [esi + ecx + 0xc]
mov ecx, 0xfffffff4
sub ecx, eax
mov eax, dword [esp + 0x64]
add dword [esp + 0x3c], ecx
mov dword [ebx + 0x10], edi
add eax, esi
mov dword [esp + 0x64], eax
movzx eax, byte [esi + 0xc]
cmp al, 0x24
je 0x404f5a
cmp dword [esp + 0x5c], 4
jbe 0x404e54
cmp al, 0x47
je 0x404fb9
cmp edx, 4
je 0x404f47
jbe 0x404ed6
cmp edx, 8
je 0x404f93
cmp edx, 0x10
jne 0x404ef7
mov eax, dword [ebp + 4]
mov dword [esp], edi
add edi, 8
call dword [eax + 0x1c]
mov esi, eax
mov eax, dword [ebp + 4]
mov dword [esp], edi
call dword [eax + 0x1c]
cmp dword [esp + 0x60], 0x100
je 0x404f76
test esi, esi
cmove esi, dword [esp + 0x54]
test eax, eax
cmove eax, dword [esp + 0x58]
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x1c], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x54], esi
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx]
cmp byte [ecx + edx - 1], 0
jne 0x405224
add ebx, 0x24
mov dword [esp + 0x44], eax
mov esi, dword [esp + 0x64]
jmp 0x404d98
test edx, edx
jne 0x404ef7
cmp dword [esp + 0x60], 0x100
je 0x405171
mov eax, dword [esp + 0x54]
mov dword [ebx + 0x18], eax
mov esi, eax
mov eax, dword [esp + 0x58]
jmp 0x404ea7
mov ebp, dword [esp + 0x28]
mov ebx, str.corrupt_GNU_build_attribute_note:_bad_description_size
mov dword [esp], 0x11
call fcn.004240c0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], ebx
mov dword [esp], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
call fcn.0041f550
mov eax, dword [esp + 0x24]
mov dword [0x4e40dc], 1
mov dword [esp], eax
call fcn.004abfa8
jmp 0x404cdc
mov eax, dword [ebp + 4]
mov dword [esp], edi
call dword [eax + 0x28]
mov esi, eax
or eax, 0xffffffff
jmp 0x404e88
cmp byte [esi + 0xd], 1
jne 0x404e54
xor eax, eax
cmp byte [esi + 0xe], 0x31
sete al
add dword [esp + 0x4c], eax
jmp 0x404e54
test esi, esi
cmove esi, dword [esp + 0x50]
test eax, eax
cmove eax, dword [esp + 0x44]
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x1c], eax
mov dword [esp + 0x50], esi
jmp 0x404eb6
mov eax, dword [ebp + 4]
cmp dword [eax + 4], 5
je 0x4054dc
mov dword [esp], edi
add edi, 4
call dword [eax + 0x28]
mov esi, eax
mov eax, dword [ebp + 4]
mov dword [esp], edi
call dword [eax + 0x28]
jmp 0x404e88
cmp byte [esi + 0xd], 0x41
jne 0x404e54
cmp byte [esi + 0xe], 0x24
jne 0x404e54
cmp byte [esi + 0xf], 1
jne 0x404e54
movzx eax, byte [esi + 0x10]
cmp al, 0x32
je 0x4051c2
cmp al, 0x33
jne 0x4051b4
add dword [esp + 0x30], 1
jmp 0x404e54
mov eax, dword [0x4e40d0]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 4], ebx
mov dword [esp], ebp
mov dword [esp + 0x14], eax
mov eax, dword [0x4e40d4]
mov dword [esp + 8], eax
call fcn.0042b260
test eax, eax
jne 0x404b3f
mov dword [esp + 0xc], str.error:_failed_to_copy_merged_notes_into_output
mov dword [esp + 8], ebx
mov dword [esp + 4], ebp
mov dword [esp], 0
mov dword [esp + 0x20], eax
call fcn.0041f550
mov edx, dword [esp + 0x20]
jmp 0x4031e0
mov eax, edx
jmp 0x4049fa
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0xc], str.Cant_fill_gap_after_section
mov eax, dword [edi]
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0041f550
mov dword [0x4e40dc], 1
jmp 0x404746
mov dword [esp + 0x20], eax
mov dword [esp + 0xc], str.error_copying_private_BFD_data
jmp 0x40361f
mov dword [esp + 0xc], str.cant_add_padding
mov eax, dword [ebx]
mov dword [esp + 4], ebp
mov dword [esp], 0
mov dword [esp + 8], eax
call fcn.0041f550
mov dword [0x4e40dc], 1
jmp 0x403d0b
mov dword [esp + 0xc], str.could_not_find_any_mergeable_note_sections
mov dword [esp + 8], ebx
mov dword [esp + 4], ebp
mov dword [esp], 0
call fcn.0041f550
jmp 0x404b3f
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call fcn.0042b220
test eax, eax
je 0x404877
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x40], 2
mov dword [esi + 0x40], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 4], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
mov dword [esp], ebp
mov dword [esp + 8], eax
call fcn.0042b260
test eax, eax
jne 0x405506
mov dword [esp + 0xc], str.cant_set_debugging_section_contents
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 0
call fcn.0041f550
jmp 0x40433b
mov eax, dword [esp + 0x50]
mov dword [ebx + 0x18], eax
mov esi, eax
mov eax, dword [esp + 0x44]
jmp 0x404f87
mov dword [esp + 4], eax
mov dword [esp], str.before_s_not_found
call fcn.0041ebe0
mov dword [esp], str.treating_that_number_as_an_absolute_e_machine_value_instead
call fcn.0041ec10
mov eax, dword [ebp + 0xa0]
mov edx, dword [0x4e4098]
mov word [eax + 0x26], dx
jmp 0x40459a
mov ebp, dword [esp + 0x28]
mov ebx, str.corrupt_GNU_build_attribute_note:_unsupported_version
jmp 0x404f00
add dword [esp + 0x40], 1
jmp 0x404e54
mov eax, 0x1000
jmp 0x404a26
mov eax, dword [0x4e4080]
mov dword [esp + 0xc], str.cannot_create_debug_link_section___s
mov dword [esp + 0x10], eax
jmp 0x403a9b
mov edi, dword [esp + 0x24]
mov word [edi + ebx - 2], ax
jmp 0x4048e7
mov ebp, dword [esp + 0x28]
mov ebx, str.corrupt_GNU_build_attribute_note:_note_too_big
jmp 0x404f00
mov ebp, dword [esp + 0x28]
mov ebx, str.corrupt_GNU_build_attribute_note:_wrong_note_type
jmp 0x404f00
mov ebp, dword [esp + 0x28]
mov ebx, str.corrupt_GNU_build_attribute_note:_name_too_small
jmp 0x404f00
mov ebp, dword [esp + 0x28]
mov ebx, str.corrupt_GNU_build_attribute_note:_name_not_NUL_terminated
jmp 0x404f00
cmp dword [esp + 0x3c], 0
mov dword [esp + 0x50], ebx
mov ebp, dword [esp + 0x28]
jne 0x4054d2
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x4c]
or eax, dword [esp + 0x30]
mov ecx, edi
or ecx, eax
je 0x405301
test edi, edi
je 0x40526c
test eax, eax
mov ebx, str.bad_GNU_build_attribute_notes:_multiple_different_versions
jne 0x404f00
cmp dword [esp + 0x40], 0
je 0x405283
cmp dword [esp + 0x30], 0
mov ebx, str.bad_GNU_build_attribute_notes:_multiple_different_versions
jne 0x404f00
mov ecx, dword [esp + 0x4c]
mov eax, ecx
sub eax, 1
sete dl
cmp dword [esp + 0x40], 1
sete al
or dl, al
jne 0x404cd0
cmp dword [esp + 0x30], 1
je 0x404cd0
cmp ecx, 1
mov ebx, str.bad_GNU_build_attribute_notes:_first_note_not_version_note
sbb esi, esi
and esi, 2
lea eax, [esi + 2]
add esi, 1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0xc]
cmp byte [eax + esi], 1
jne 0x404f00
mov eax, dword [esp + 0x24]
mov dword [esp + 0x44], 0
mov dword [esp + 0x58], esi
mov dword [esp + 0x6c], ebp
lea edi, [eax + 0x24]
cmp dword [esp + 0x50], edi
jbe 0x40537a
cmp dword [edi + 8], 0x100
je 0x40530b
add edi, 0x24
jmp 0x4052e9
mov ebx, str.bad_GNU_build_attribute_notes:_no_known_versions_detected
jmp 0x404f00
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x58]
lea ebp, [edi - 0x24]
mov dword [esp + 0x40], 0
movsx ecx, byte [eax + ecx]
mov dword [esp + 0x5c], eax
add eax, dword [esp + 0x28]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x68], eax
cmp dword [esp + 0x24], ebp
ja 0x4052fc
cmp dword [esp + 0x40], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x3c], eax
movsx eax, byte [eax + ecx]
je 0x405365
cmp dword [ebp + 8], 0x100
jne 0x405360
cmp dword [esp + 0x60], eax
je 0x405542
sub ebp, 0x24
jmp 0x405331
cmp dword [ebp + 4], 0
je 0x40534d
cmp dword [ebp + 8], 0x101
je 0x405360
mov dword [esp + 0x40], ebp
jmp 0x40534d
cmp dword [esp + 0x44], 0
mov ebp, dword [esp + 0x6c]
je 0x404cd0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004a91f0
mov dword [esp + 0x44], eax
mov esi, eax
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x40], eax
xor eax, eax
cmp dword [esp + 0x50], edi
jbe 0x405679
mov ebp, dword [edi]
mov ecx, dword [edi + 4]
add ecx, ebp
add ecx, 0xc
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 8]
test ecx, ecx
mov dword [esp + 0x30], ecx
je 0x4054a6
cmp dword [edi + 0x20], 0
je 0x4054b6
mov ecx, dword [edi + 0x18]
cmp ecx, edx
mov dword [esp + 0x3c], ecx
jne 0x4053f8
cmp dword [edi + 0x1c], eax
je 0x405571
mov eax, dword [ebx + 4]
mov dword [esp + 4], esi
mov dword [esp], ebp
call dword [eax + 0x30]
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 4]
cmp dword [edx + 4], 5
mov ecx, dword [eax + 0x30]
lea eax, [esi + 4]
mov dword [esp + 0x54], eax
mov eax, 8
jne 0x405437
mov eax, dword [ebx + 0xa0]
cmp byte [eax + 4], 2
sete al
movzx eax, al
lea eax, [eax*8 + 8]
lea edx, [esi + 4]
mov dword [esp], eax
mov dword [esp + 4], edx
call ecx
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x30]
lea edx, [esi + 8]
add esi, 0xc
mov dword [esp + 4], edx
mov dword [esp], ecx
call dword [eax + 0x30]
mov eax, dword [edi + 0xc]
mov dword [esp + 8], ebp
add ebp, esi
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebx + 4]
cmp dword [eax + 4], 5
je 0x405705
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ebp
lea esi, [ebp + 8]
mov dword [esp], ecx
call dword [eax + 0x30]
lea edx, [ebp + 4]
mov eax, dword [ebx + 4]
mov dword [esp + 4], edx
mov edx, dword [edi + 0x1c]
mov dword [esp], edx
call dword [eax + 0x30]
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x1c]
mov ebp, dword [esp + 0x28]
add edi, 0x24
add dword [esp + 0x40], ebp
jmp 0x4053b3
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
mov dword [esp], esi
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
add esi, ebp
call sub.msvcrt.dll_memcpy
jmp 0x4054a0
mov ebx, str.corrupt_GNU_build_attribute_notes:_excess_data_at_end
jmp 0x404f00
mov edx, dword [ebp + 0xa0]
cmp byte [edx + 4], 2
jne 0x404fa0
mov dword [esp], edi
call dword [eax + 0x1c]
mov esi, eax
or eax, 0xffffffff
jmp 0x404e88
mov eax, dword [0x4e402c]
jmp 0x4041e2
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.0042b260
test eax, eax
je 0x40514c
jmp 0x40444f
cmp eax, 4
jne 0x405600
mov ebx, dword [edi]
sub ebx, dword [esp + 0x28]
xor eax, eax
xor edx, edx
cmp ebx, eax
lea ecx, [eax*8]
je 0x4055c3
mov esi, dword [esp + 0x68]
movzx esi, byte [esi + eax]
add eax, 1
shl esi, cl
or edx, esi
jmp 0x405555
mov eax, dword [ebx + 4]
mov dword [esp + 4], esi
mov dword [esp], ebp
call dword [eax + 0x30]
mov eax, dword [ebx + 4]
lea edx, [esi + 4]
mov dword [esp], 0
mov dword [esp + 4], edx
call dword [eax + 0x30]
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x30]
lea edx, [esi + 8]
add esi, 0xc
mov dword [esp + 4], edx
mov dword [esp], ecx
call dword [eax + 0x30]
mov eax, dword [edi + 0xc]
mov dword [esp], esi
add esi, ebp
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
jmp 0x4054a0
mov eax, dword [ebp]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x54], 0
mov dword [esp + 0x64], eax
sub eax, ecx
mov dword [esp + 0x4c], eax
add esi, ecx
xor eax, eax
cmp dword [esp + 0x4c], eax
lea ecx, [eax*8]
je 0x405633
movzx ebx, byte [esi + eax]
add eax, 1
shl ebx, cl
or dword [esp + 0x54], ebx
jmp 0x4055e4
mov eax, dword [ebp]
cmp eax, dword [edi]
je 0x40574e
cmp dword [esp + 0x30], 0
je 0x40564d
mov dword [edi + 0x20], 1
mov dword [edi + 8], 0x101
mov dword [ebp + 0x20], 1
mov dword [ebp + 8], 0x101
jmp 0x4052fc
mov ebx, dword [esp + 0x54]
xor eax, eax
add ebx, edx
mov edx, ebx
test edx, edx
je 0x4057c4
add eax, 1
shr edx, 8
jmp 0x40563d
cmp dword [edi + 4], 0
jne 0x4052fc
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4052fc
cmp dword [eax + 8], 0
jne 0x4052fc
mov dword [eax + 8], 0x100
jmp 0x4052fc
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ebx, esi
mov ebp, dword [esp + 0x4c]
sub ebx, edi
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], ebx
call sub.msvcrt.dll_memcpy
mov dword [esp], edi
call fcn.004abfa8
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004abfa8
cmp dword [esp + 0x38], ebx
mov dword [0x4e40d0], ebx
je 0x404cdc
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x4056e0
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.0042b220
test eax, eax
jne 0x4038ab
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], str.warning:_failed_to_set_merged_notes_size
mov dword [esp + 4], ebp
mov dword [esp], 0
mov dword [esp + 8], eax
call fcn.0041f550
jmp 0x404cdc
mov edx, dword [ebx + 0xa0]
cmp byte [edx + 4], 2
jne 0x40547c
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], ebp
lea esi, [ebp + 0x10]
mov dword [esp + 4], 0
mov dword [esp], ecx
call dword [eax + 0x24]
lea edx, [ebp + 8]
mov eax, dword [ebx + 4]
mov dword [esp + 8], edx
mov ecx, dword [edi + 0x1c]
mov dword [esp + 4], 0
mov dword [esp], ecx
call dword [eax + 0x24]
jmp 0x4054a0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x40560b
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x40560b
mov ecx, dword [edi + 0x1c]
test ecx, ecx
je 0x40560b
lea edx, [eax + 0xf]
cmp eax, edx
ja 0x405797
and edx, 0xfffffff0
cmp edx, dword [edi + 0x18]
jb 0x40560b
cmp eax, ecx
mov dword [edi + 8], 0
jae 0x4057a5
mov dword [ebp + 0x1c], ecx
cmp dword [esp + 0x30], 0
mov dword [esp + 0x44], 1
je 0x4052fc
mov dword [ebp + 0x20], 1
jmp 0x4052fc
cmp dword [esp + 0x4c], eax
jbe 0x405360
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x64]
add eax, ecx
cmp esi, eax
jae 0x4057eb
add esi, 1
test ebx, ebx
mov byte [esi - 1], bl
je 0x4057eb
shr ebx, 8
jmp 0x4057d8
mov dword [edi + 8], 0
mov dword [esp + 0x44], 1
jmp 0x4052fc