Function at 0x4030e0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x108
mov rax, qword [rcx + 8]
mov rbp, rdx
mov rdx, qword [rdx + 8]
mov rbx, rcx
mov rdi, r8
mov eax, dword [rax + 0xc]
mov edx, dword [rdx + 0xc]
cmp eax, edx
setne cl
cmp eax, 2
setne al
test cl, al
je 0x40311e
cmp edx, 2
jne 0x403180
movzx edx, byte [rbx + 0x40]
mov rcx, rbp
and edx, 7
call fcn.004274b0
test eax, eax
mov esi, eax
je 0x403320
cmp qword [rbx + 0x88], 0
je 0x403340
mov rax, qword [rbx + 8]
cmp dword [rax + 8], 5
je 0x4031b2
mov edx, dword [0x0052f0c4]
cmp edx, 1
je 0x4031a4
and edx, 1
je 0x4031a4
mov rcx, rbx
xor esi, esi
call fcn.0041fad0
lea rcx, str.__compress_debug_sections_zlibzlib_gnuzlib_gabi__is_unsupported_on___s
mov rdx, rax
call fcn.0041f240
jmp 0x40318e
lea rcx, str.Unable_to_change_endianness_of_input_file_s_
xor esi, esi
call fcn.0041f240
mov eax, esi
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [0x0052f0c0]
test ecx, ecx
jne 0x403360
mov edx, dword [0x0052f16c]
test edx, edx
jne 0x4033b0
mov eax, dword [0x0052f034]
xor edx, edx
test eax, eax
jne 0x4031eb
mov eax, dword [0x0052f128]
mov rdx, qword [0x0052f120]
test eax, eax
jne 0x4031e4
mov rdx, qword [rbx + 0xa0]
add rdx, qword [0x0052f130]
movzx eax, byte [rbp + 0x40]
and eax, 7
cmp al, 3
je 0x40324a
mov esi, dword [rbx + 0x40]
mov eax, dword [0x0052f0f4]
mov rcx, qword [rbp + 8]
shr esi, 5
and esi, 0xfffff
or eax, esi
mov esi, dword [0x0052f0f0]
not esi
and esi, dword [rcx + 0x14]
and esi, eax
cmp dword [0x0052f14c], 7
je 0x403335
mov rcx, rbp
call fcn.00424e50
test eax, eax
je 0x403300
mov edx, esi
mov rcx, rbp
call fcn.00424040
test eax, eax
je 0x403300
mov rcx, rbx
call fcn.00423c90
mov rcx, rbx
mov esi, eax
call fcn.00423ca0
test rdi, rdi
mov r12d, eax
je 0x4032a7
mov rcx, rbx
call fcn.00423cd0
test rax, rax
je 0x4032a0
mov rcx, rbx
call fcn.00423cd0
mov eax, dword [rax + 0xc]
test eax, eax
je 0x4032a0
mov rcx, rbx
call fcn.0041fad0
lea rcx, str.Input_file___s_ignores_binary_architecture_parameter.
mov rdx, rax
call fcn.0041f240
jmp 0x4032a7
mov esi, dword [rdi + 0xc]
mov r12d, dword [rdi + 0x10]
mov rax, qword [rbp + 8]
mov edx, esi
mov r8d, r12d
mov rcx, rbp
call qword [rax + 0x290]
test eax, eax
mov esi, eax
jne 0x4032e3
test byte [rbx + 0x43], 4
jne 0x403380
mov rcx, rbx
call fcn.00423c90
mov rcx, rbp
mov edi, eax
call fcn.00423c90
cmp edi, eax
jne 0x403380
movzx edx, byte [rbx + 0x40]
mov rcx, rbp
and edx, 7
call fcn.004274b0
test eax, eax
jne 0x4033e5
nop word [rax + rax]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
xor ecx, ecx
xor esi, esi
call fcn.0041fbc0
jmp 0x40318e
xor r9d, r9d
xor r8d, r8d
mov rdx, rbp
xor ecx, ecx
call fcn.0041fbc0
jmp 0x40318e
and esi, 0xfffffffe
jmp 0x403228
mov rcx, rbx
xor esi, esi
call fcn.0041fad0
lea rcx, str.error:_the_input_file__s_has_no_sections
mov rdx, rax
call fcn.0041f240
jmp 0x40318e
mov rcx, rbx
xor esi, esi
call fcn.0041fad0
lea rcx, str.__elf_stt_common_yesno__is_unsupported_on___s
mov rdx, rax
call fcn.0041f240
jmp 0x40318e
mov rcx, rbx
call fcn.00423c90
test eax, eax
jne 0x4036c0
mov rcx, rbx
call fcn.0041fad0
lea rcx, str.Unable_to_recognise_the_format_of_the_input_file___s
mov rdx, rax
call fcn.0041f240
jmp 0x40318e
mov rdx, qword [rbp + 8]
mov rcx, rbx
mov r12, qword [rbp]
mov rsi, qword [rax]
mov r13, qword [rdx]
call fcn.0041fad0
lea rcx, str.copy_from___s___s__to___s___s__n
mov r9, r12
mov r8, rsi
mov rdx, rax
mov qword [rsp + 0x20], r13
call sub.msvcrt.dll_printf
jmp 0x4031c0
mov rax, qword [rbp + 8]
cmp dword [rax + 8], 2
je 0x4036f0
mov rsi, qword [0x0052f180]
test rsi, rsi
je 0x403407
mov rcx, rsi
call fcn.004d4f88
mov rcx, qword [0x0052f178]
cmp rsi, rcx
je 0x403418
call fcn.004d4f88
mov rax, qword [rbx + 8]
mov rcx, rbx
mov qword [0x0052f180], 0
mov qword [0x0052f178], 0
call qword [rax + 0x1f0]
test eax, eax
js 0x403300
movsxd rcx, eax
call fcn.004d1690
mov r8, qword [rbx + 8]
mov rcx, rbx
mov qword [0x0052f180], rax
mov rdx, rax
mov qword [0x0052f178], rax
call qword [r8 + 0x1f8]
movsxd r14, eax
test r14d, r14d
js 0x403300
je 0x4038be
lea rdx, [0x00402610]
mov r8, rbp
mov rcx, rbx
call fcn.0042ab40
mov eax, dword [0x0052f034]
test eax, eax
je 0x403883
mov rdi, qword [0x0052f0e8]
test rdi, rdi
je 0x40357a
nop dword [rax]
mov rcx, qword [rdi + 8]
xor edx, edx
mov r8d, 0x40
mov esi, 0x128
call fcn.004016e0
test rax, rax
je 0x4034d4
mov esi, dword [rax + 0x28]
or esi, 0x100
mov rdx, qword [rdi + 8]
mov rcx, rbp
call fcn.0042a590
test rax, rax
jne 0x403aba
mov rdx, qword [rdi + 8]
or esi, 0x100000
mov rcx, rbp
mov r8d, esi
call fcn.0042aa10
test rax, rax
mov qword [rdi + 0x28], rax
je 0x403ade
mov r8, qword [rdi + 0x18]
mov rdx, rax
mov rcx, rbp
call fcn.0042ac10
test eax, eax
je 0x403a80
mov rcx, qword [rdi + 8]
xor edx, edx
mov r8d, 0xc
call fcn.004016e0
test rax, rax
je 0x40354c
mov rdx, qword [rax + 0x18]
mov rax, qword [rdi + 0x28]
or byte [rax + 0x24], 1
mov qword [rax + 0x30], rdx
mov qword [rax + 0x28], rdx
mov rcx, qword [rdi + 8]
xor edx, edx
mov r8d, 0x30
call fcn.004016e0
test rax, rax
je 0x40356e
mov rdx, qword [rdi + 0x28]
mov rax, qword [rax + 0x20]
mov qword [rdx + 0x30], rax
mov rdi, qword [rdi]
test rdi, rdi
jne 0x4034b0
mov rdi, qword [0x0052f0e0]
test rdi, rdi
je 0x4035cc
nop word cs:[rax + rax]
mov rdx, qword [rdi + 8]
mov rcx, rbx
call fcn.0042a590
test rax, rax
mov qword [rdi + 0x28], rax
je 0x404325
mov r12, qword [rax + 0x68]
mov rcx, rbp
mov r8, qword [rdi + 0x18]
mov rdx, r12
call fcn.0042ac10
test eax, eax
je 0x40433c
mov rdi, qword [rdi]
test rdi, rdi
jne 0x403590
mov eax, dword [0x0052f160]
test eax, eax
jne 0x404417
mov r15, qword [0x0052f0d8]
test r15, r15
je 0x4038ed
lea r12, [0x004e3f89]
mov qword [rsp + 0x158], rbp
lea r13, [rsp + 0xe0]
jmp 0x403673
mov rcx, qword [r15 + 0x10]
mov rdx, r12
call sub.msvcrt.dll_fopen
test rax, rax
mov rdi, rax
je 0x403af0
mov r8, r13
mov rdx, rbp
mov rcx, rbx
call fcn.0042ae20
test eax, eax
je 0x403851
mov rcx, qword [rsp + 0xe0]
mov r9, rdi
mov r8, rsi
mov edx, 1
call sub.msvcrt.dll_fwrite
cmp rsi, rax
jne 0x40488a
mov rcx, rdi
call sub.msvcrt.dll_fclose
mov rcx, qword [rsp + 0xe0]
call fcn.004d4f88
mov r15, qword [r15]
test r15, r15
je 0x4038e5
mov rdx, qword [r15 + 8]
mov rcx, rbx
call fcn.0042a590
test rax, rax
mov rbp, rax
je 0x403a98
test byte [rax + 0x21], 1
je 0x40386a
mov rsi, qword [rax + 0x38]
test rsi, rsi
jne 0x403603
lea r9, str.cant_dump_section___it_is_empty
mov r8, rax
mov rdx, rbx
xor ecx, ecx
call fcn.0041fbc0
jmp 0x403667
mov rcx, rbx
call fcn.00423ca0
mov rcx, rbx
mov edi, eax
call fcn.00423c90
mov edx, edi
mov ecx, eax
call fcn.00423d30
lea rcx, str.Output_file_cannot_represent_architecture___s
mov rdx, rax
call fcn.0041f240
jmp 0x40318e
mov rsi, qword [rax]
lea rax, [0x004e3dd7]
mov ecx, 4
mov rdi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x4033f3
mov rdx, qword [rbx + 8]
mov r12, qword [rbp + 0xf0]
cmp dword [rdx + 8], 2
je 0x404364
mov r8, qword [0x004db078]
cmp r8, 0xffffffffffffffff
je 0x4043b2
mov qword [r12 + 0xf0], r8
mov rax, qword [0x004db070]
cmp rax, 0xffffffffffffffff
je 0x40374d
mov qword [r12 + 0x130], rax
mov rax, qword [0x004db068]
cmp rax, 0xffffffffffffffff
je 0x403762
mov qword [r12 + 0x130], rax
mov rax, qword [0x004db060]
cmp rax, 0xffffffffffffffff
je 0x403777
mov qword [r12 + 0xe0], rax
mov rax, qword [0x004db058]
cmp rax, 0xffffffffffffffff
je 0x40439d
mov qword [r12 + 0xe8], rax
mov rdx, qword [0x004db050]
cmp rdx, 0xffffffffffffffff
je 0x4037a5
mov qword [r12 + 0x120], rdx
mov rdx, qword [0x004db048]
cmp rdx, 0xffffffffffffffff
je 0x4037ba
mov qword [r12 + 0x120], rdx
movzx edx, word [0x004db040]
cmp dx, 0xffff
je 0x4037d0
mov word [r12 + 0x114], dx
movzx edx, word [0x004db03e]
cmp dx, 0xffff
je 0x4037e6
mov word [r12 + 0x100], dx
movzx edx, word [0x004db03c]
cmp dx, 0xffff
je 0x4037fc
mov word [r12 + 0x102], dx
cmp rax, r8
jae 0x4033f3
lea rsi, [rsp + 0xc0]
lea rdx, [0x004e3ddc]
mov rcx, rsi
call sub.msvcrt.dll_sprintf
mov r8, qword [0x004db058]
lea rdi, [rsp + 0xe0]
lea rdx, [0x004e3ddc]
mov rcx, rdi
call sub.msvcrt.dll_sprintf
mov r8, rdi
mov rdx, rsi
lea rcx, str.warning:_file_alignment__0x_s____section_alignment__0x_s_
call fcn.0041f240
jmp 0x4033f3
lea r9, str.could_not_retrieve_section_contents
mov r8, rbp
mov rdx, rbx
xor ecx, ecx
call fcn.0041fbc0
jmp 0x403652
lea r9, str.cant_dump_section___it_has_no_contents
mov r8, rax
mov rdx, rbx
xor ecx, ecx
call fcn.0041fbc0
jmp 0x403667
mov rax, qword [rbp + 8]
mov rdx, rbp
mov rcx, rbx
call qword [rax + 0x160]
test eax, eax
jne 0x40349c
lea r9, str.error_in_private_header_data
xor r8d, r8d
mov rdx, rbx
mov dword [0x0052f164], 1
xor ecx, ecx
call fcn.0041fbc0
jmp 0x40349c
mov rcx, qword [0x0052f180]
call fcn.004d4f88
mov qword [0x0052f180], 0
mov qword [0x0052f178], 0
jmp 0x40347c
mov rbp, qword [rsp + 0x158]
cmp qword [0x0052f0d0], 0
je 0x404353
lea rdx, [0x004e4014]
mov rcx, rbp
call fcn.0042a590
test rax, rax
mov rsi, rax
je 0x404661
mov rdx, qword [rbp]
lea rcx, str._s:_debuglink_section_already_exists
call fcn.0041f240
mov qword [0x0052f0d0], 0
mov qword [rsp + 0x88], 0
mov r13d, dword [rbp + 0x98]
test r13d, r13d
je 0x403b0a
mov eax, dword [0x0052f110]
test eax, eax
jne 0x403967
mov r15d, dword [0x0052f108]
test r15d, r15d
je 0x403b0a
mov edi, r13d
lea rsi, [rdi*8]
mov rcx, rsi
call fcn.004d1690
lea r8, [rsp + 0xe0]
mov rcx, rbp
mov r15, rax
mov qword [rsp + 0x90], rax
lea rdx, [0x00401560]
mov qword [rsp + 0xe0], rax
call fcn.0042ab40
mov rdx, rdi
mov r8d, 8
mov rcx, r15
lea r9, [0x00401570]
call sub.msvcrt.dll_qsort
mov rcx, rsi
call fcn.004d1690
xor edx, edx
mov r8, rsi
mov rcx, rax
mov rdi, rax
mov qword [rsp + 0x98], rax
call sub.msvcrt.dll_memset
mov r12d, dword [0x0052f110]
mov qword [rsp + 0x80], 0
test r12d, r12d
je 0x4044a5
cmp r13d, 1
je 0x4044a5
lea eax, [r13 - 2]
mov rsi, r15
lea r15, [r15 + rax*8 + 8]
jmp 0x403a21
add rsi, 8
add rdi, 8
cmp r15, rsi
je 0x4044a5
mov rdx, qword [rsi]
mov eax, dword [rdx + 0x20]
and eax, 0x102
cmp eax, 0x102
jne 0x403a10
mov rcx, qword [rsi + 8]
mov r8, qword [rdx + 0x38]
mov rax, qword [rdx + 0x30]
mov rcx, qword [rcx + 0x30]
add rax, r8
cmp rax, rcx
jae 0x403a10
sub rcx, rax
add r8, rcx
mov r12, rcx
mov rcx, rbp
call fcn.0042ac10
test eax, eax
je 0x404487
mov rax, qword [rsp + 0x80]
mov qword [rdi], r12
cmp rax, r12
cmovae r12, rax
mov qword [rsp + 0x80], r12
jmp 0x403a10
mov r8, qword [rdi + 0x28]
xor r9d, r9d
mov rdx, rbp
xor ecx, ecx
mov esi, eax
call fcn.0041fbc0
jmp 0x40318e
mov rax, qword [r15 + 8]
lea r9, str.cant_dump_section__s___it_does_not_exist
xor r8d, r8d
xor ecx, ecx
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.0041fbc0
jmp 0x403667
mov rax, qword [rdi + 8]
lea r9, str.cant_add_section__s
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rbp
xor ecx, ecx
call fcn.0041fbc0
xor esi, esi
jmp 0x40318e
mov rax, qword [rdi + 8]
lea r9, str.cant_create_section___s
mov qword [rsp + 0x20], rax
jmp 0x403aca
mov rcx, qword [r15 + 0x10]
lea r9, str.could_not_open_section_dump_file
xor r8d, r8d
xor edx, edx
call fcn.0041fbc0
jmp 0x403667
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x78], 0
mov esi, dword [0x0052f0c8]
test esi, esi
jne 0x404526
mov eax, dword [0x0052f14c]
lea edx, [rax - 2]
cmp edx, 5
ja 0x4048be
cmp eax, 7
jne 0x40430a
mov ecx, dword [0x0052f058]
add ecx, r14d
add ecx, 1
movsxd rcx, ecx
shl rcx, 3
call fcn.004d1690
mov r15, qword [0x0052f180]
mov qword [rsp + 0x50], rax
mov qword [0x0052f178], rax
mov eax, dword [rbx + 0x40]
shr eax, 5
and eax, 0x42
test r14d, r14d
mov dword [rsp + 0x68], eax
je 0x403eb3
lea eax, [r14 - 1]
xor r14d, r14d
mov r13, r15
mov qword [rsp + 0x150], rbx
lea rax, [r15 + rax*8 + 8]
mov dword [rsp + 0x40], r14d
mov qword [rsp + 0x48], rax
mov rax, qword [0x00521260]
mov qword [rsp + 0x158], rbp
lea rdi, [rax + 0x118]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0x70], rdi
nop dword [rax]
mov rsi, qword [r13]
mov rbp, qword [0x0052f060]
mov rax, qword [rsi + 0x20]
test rbp, rbp
mov r15d, dword [rsi + 0x18]
mov rdi, qword [rsi + 8]
mov qword [rsp + 0x38], rax
je 0x403c91
mov r12d, dword [0x0052f058]
test r12d, r12d
jle 0x403c91
mov r14, qword [rbp + 0x20]
test r14, r14
je 0x403c91
xor ebx, ebx
jmp 0x403c45
add ebx, 1
mov rbp, qword [rbp]
cmp ebx, r12d
je 0x403c91
mov r14, qword [rbp + 0x20]
test r14, r14
je 0x403c91
mov rdx, rdi
mov rcx, r14
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x403c30
mov rcx, r14
call fcn.004d4f88
lea rax, [0x004e40a5]
movsxd r14, dword [rsp + 0x40]
mov rcx, rbp
mov qword [rbp + 0x20], rax
mov rdx, qword [rsp + 0x158]
mov rax, qword [rsp + 0x50]
lea r12d, [r14 + 1]
lea r14, [rax + r14*8]
call fcn.00402450
mov dword [rsp + 0x40], r12d
mov qword [r14], rax
mov rcx, qword [0x0052f070]
call fcn.004cf350
test rax, rax
jne 0x403caf
cmp qword [0x0052f188], 0
mov r12, rdi
je 0x403cf1
mov rcx, qword [0x0052f070]
lea rdx, [rsp + 0xe0]
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xe8], 0
call fcn.004cf870
test rax, rax
je 0x40406d
mov r12, qword [rax + 8]
cmp rdi, r12
je 0x404070
mov qword [rsi + 8], r12
mov rax, qword [rsp + 0x150]
mov edx, dword [0x0052f0bc]
mov rax, qword [rax + 8]
movzx eax, byte [rax + 0x1c]
cmp byte [r12], al
je 0x403f21
test edx, edx
jne 0x404010
mov rcx, qword [0x0052f048]
test rcx, rcx
mov rdi, r12
je 0x403d8d
call sub.msvcrt.dll_strlen
mov rcx, r12
mov rdi, rax
call sub.msvcrt.dll_strlen
lea rcx, [rdi + rax + 2]
call fcn.004d1690
mov r8, rax
mov rdi, rax
mov r9, qword [0x0052f048]
test r9, r9
je 0x403d7e
mov rcx, r8
mov rdx, r9
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], r9
call sub.msvcrt.dll_strcpy
mov r9, qword [rsp + 0x60]
mov rcx, r9
call sub.msvcrt.dll_strlen
mov r8, qword [rsp + 0x58]
add r8, rax
mov rdx, r12
mov rcx, r8
call sub.msvcrt.dll_strcpy
mov qword [rsi + 8], rdi
cmp dword [0x0052f14c], 7
je 0x403e04
test r15b, 0x20
jne 0x4040b8
test r15d, 0x100
je 0x403f70
mov rax, qword [rsi + 0x20]
mov rax, qword [rax + 0x100]
mov rax, qword [rax]
test byte [rax + 0x18], 0x20
je 0x403f70
mov rdx, qword [0x0052f0a8]
mov rcx, rdi
call fcn.004024e0
test eax, eax
je 0x403df1
lea rcx, str.not_stripping_symbol___s_because_it_is_named_in_a_relocation
mov rdx, rdi
call fcn.0041f240
mov dword [0x0052f164], 1
mov rdx, qword [0x0052f0a0]
mov rcx, rdi
call fcn.004024e0
test eax, eax
je 0x403e2c
mov r10d, dword [0x0052f050]
test r10d, r10d
je 0x403e19
test r15d, 0x4000
jne 0x403e2c
mov rdx, qword [0x0052f098]
mov rcx, rdi
call fcn.004024e0
test eax, eax
je 0x403e8f
mov rcx, qword [rsi + 0x20]
call fcn.00402540
test eax, eax
jne 0x403e8f
test r15b, 2
je 0x403e5a
mov r9d, dword [0x0052f054]
test r9d, r9d
je 0x404545
mov eax, dword [rsi + 0x18]
and eax, 0xfffffffd
or al, 0x80
mov dword [rsi + 0x18], eax
mov rbx, qword [rsp + 0x70]
cmp qword [rsp + 0x38], rbx
je 0x403e7a
test r15b, 0x82
jne 0x4043f0
and r15d, 1
jne 0x4043c8
movsxd rax, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov qword [rbx + rax*8], rsi
lea eax, [rax + 1]
mov dword [rsp + 0x40], eax
add r13, 8
cmp qword [rsp + 0x48], r13
jne 0x403bf0
movsxd r14, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x150]
mov rbp, qword [rsp + 0x158]
mov rdi, qword [0x0052f060]
test rdi, rdi
je 0x4040ed
mov r8d, dword [0x0052f058]
test r8d, r8d
jle 0x4040ed
xor r12d, r12d
mov rsi, qword [rsp + 0x50]
jmp 0x403efd
cmp byte [rdx], 0
jne 0x405014
add r12d, 1
cmp r12d, dword [0x0052f058]
mov rdi, qword [rdi]
jge 0x4040ed
mov rdx, qword [rdi + 0x20]
test rdx, rdx
jne 0x403ee0
lea r13d, [r14 + 1]
mov rdx, rbp
mov rcx, rdi
call fcn.00402450
lea r14, [rsi + r14*8]
mov qword [r14], rax
movsxd r14, r13d
jmp 0x403ee9
test edx, edx
jne 0x404166
mov ebx, dword [0x0052f0b8]
test ebx, ebx
je 0x403d19
test r15b, 0x82
jne 0x403f5a
mov rdi, qword [rsp + 0xa8]
cmp qword [rsp + 0x38], rdi
je 0x403f5a
mov rax, qword [rsi + 0x20]
test byte [rax + 0x21], 0x10
je 0x403d19
mov rcx, qword [0x0052f048]
add r12, 1
mov qword [rsi + 8], r12
jmp 0x403d20
mov r11d, dword [rsp + 0x68]
test r11d, r11d
jne 0x403f8a
test r15b, 0x82
jne 0x403ff1
mov rax, qword [rsi + 0x20]
test byte [rax + 0x21], 0x10
jne 0x403ff1
mov rcx, rsi
call fcn.0042b410
cmp eax, 0x49
je 0x403ff1
test r15b, 0x82
jne 0x4042f8
mov rax, qword [rsp + 0xa0]
add rax, 0x118
cmp qword [rsp + 0x38], rax
je 0x4042f8
mov rax, qword [rsi + 0x20]
test byte [rax + 0x21], 0x10
jne 0x4042f8
test r15b, 4
je 0x404992
mov eax, dword [0x0052f14c]
sub eax, 2
cmp eax, 1
jbe 0x403e04
cmp dword [0x0052f0c8], 0
jne 0x403e04
mov rdx, qword [0x0052f0a8]
mov rcx, rdi
call fcn.004024e0
test eax, eax
jne 0x403e04
jmp 0x403df1
mov rdi, qword [rsp + 0x158]
mov rcx, qword [0x0052f048]
mov rdx, qword [rdi + 8]
cmp byte [rdx + 0x1c], 0
je 0x403d20
test al, al
jne 0x403d20
call sub.msvcrt.dll_strlen
mov rcx, r12
mov rdi, rax
call sub.msvcrt.dll_strlen
lea rcx, [rdi + rax + 2]
call fcn.004d1690
lea r8, [rax + 1]
mov rdi, rax
mov rax, qword [rsp + 0x158]
mov rax, qword [rax + 8]
movzx eax, byte [rax + 0x1c]
mov byte [rdi], al
jmp 0x403d48
mov r12, rdi
test r15d, 0x100
je 0x403ced
mov r12, qword [0x0052f188]
test r12, r12
jne 0x40409e
jmp 0x404561
mov r12, qword [r12 + 0x18]
test r12, r12
je 0x404561
mov rcx, qword [r12]
mov rdx, rdi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x404090
mov r12, qword [r12 + 8]
jmp 0x403ced
mov rdx, qword [0x0052f0a8]
mov rcx, rdi
call fcn.004024e0
test eax, eax
je 0x403e2c
lea rcx, str.not_stripping_symbol___s_because_it_is_named_in_a_relocation
mov rdx, rdi
call fcn.0041f240
mov dword [0x0052f164], 1
jmp 0x403e2c
mov ecx, dword [0x0052f0c8]
movsxd rax, r14d
mov rdi, qword [rsp + 0x50]
test ecx, ecx
mov qword [rdi + rax*8], 0
je 0x4041b8
cmp qword [rsp + 0x78], 0
je 0x4041b8
mov rdx, qword [rbp + 8]
mov eax, dword [rdx + 8]
cmp eax, 6
je 0x4041a7
cmp eax, 2
je 0x404704
cmp eax, 5
je 0x404704
mov rax, qword [rdx]
lea r9, str.dont_know_how_to_write_debugging_information_for__s
xor r8d, r8d
mov rdx, rbp
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.0041fbc0
mov dword [0x0052f164], 1
xor esi, esi
jmp 0x40318e
mov rax, qword [rsp + 0x158]
mov rcx, qword [0x0052f048]
mov rax, qword [rax + 8]
movzx eax, byte [rax + 0x1c]
test al, al
je 0x403f61
test rcx, rcx
je 0x404197
add r12, 1
mov qword [rsi + 8], r12
jmp 0x404035
mov byte [r12], al
mov rdi, r12
mov qword [rsi + 8], r12
jmp 0x403d8d
mov rdx, qword [rsp + 0x78]
mov rcx, rbp
call fcn.0041a420
test eax, eax
je 0x404155
mov rdx, qword [0x0052f178]
mov r8d, r14d
mov rcx, rbp
call fcn.0042b250
mov r8, rbp
mov rcx, rbx
lea rdx, [0x00402da0]
call fcn.0042ab40
mov r8, rbp
mov rcx, rbx
lea rdx, [0x00402a70]
call fcn.0042ab40
mov rdi, qword [0x0052f0e8]
test rdi, rdi
je 0x40422c
nop word [rax + rax]
mov rax, qword [rdi + 0x18]
xor r9d, r9d
mov rcx, rbp
mov r8, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
mov qword [rsp + 0x20], rax
call fcn.0042ac50
test eax, eax
je 0x403a80
mov rdi, qword [rdi]
test rdi, rdi
jne 0x404200
mov r12, qword [0x0052f0e0]
test r12, r12
je 0x404277
nop dword [rax + rax]
mov rax, qword [r12 + 0x28]
xor r9d, r9d
mov rcx, rbp
mov r8, qword [r12 + 0x20]
mov rdi, qword [rax + 0x68]
mov rax, qword [r12 + 0x18]
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.0042ac50
test eax, eax
je 0x40464a
mov r12, qword [r12]
test r12, r12
jne 0x404240
mov edx, dword [0x0052f160]
test edx, edx
jne 0x404812
mov r8, qword [0x0052f0d0]
test r8, r8
je 0x4042ab
mov rdx, qword [rsp + 0x88]
mov rcx, rbp
call fcn.0042a220
test eax, eax
mov esi, eax
je 0x404951
mov eax, dword [0x0052f110]
test eax, eax
jne 0x404569
cmp dword [0x0052f108], 0
jne 0x404569
mov rax, qword [rbp + 8]
mov rdx, rbp
mov rcx, rbx
call qword [rax + 0x138]
test eax, eax
mov esi, eax
je 0x404a30
mov edx, dword [0x0052f0f8]
test edx, edx
jne 0x4049ea
mov esi, 1
jmp 0x40318e
cmp dword [0x0052f14c], 3
jne 0x403ff1
jmp 0x403e04
mov r8, qword [0x0052f180]
lea rdx, [0x00402ff0]
mov rcx, rbx
call fcn.0042ab40
jmp 0x403b60
mov rdx, qword [rdi + 8]
lea rcx, str.error:__s_not_found__cant_be_updated
xor esi, esi
call fcn.0041f240
jmp 0x40318e
xor r9d, r9d
mov r8, r12
mov rdx, rbp
xor ecx, ecx
mov esi, eax
call fcn.0041fbc0
jmp 0x40318e
mov qword [rsp + 0x88], 0
jmp 0x40393d
mov rsi, qword [rdx]
mov ecx, 4
mov rdi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x40371f
mov rax, qword [rbx + 0xf0]
lea rcx, [r12 + 0xb8]
mov r8d, 0x188
lea rdx, [rax + 0xb8]
call sub.msvcrt.dll_memcpy
jmp 0x40371f
mov qword [0x004db058], 0x1000
mov eax, 0x1000
jmp 0x403790
mov qword [0x004db078], 0x200
mov r8d, 0x200
jmp 0x403738
mov rdx, qword [0x0052f088]
mov rcx, rdi
call fcn.004024e0
test eax, eax
je 0x403e7a
mov eax, dword [rsi + 0x18]
and eax, 0xfffffffe
or eax, 2
mov dword [rsi + 0x18], eax
jmp 0x403e7a
mov rdx, qword [0x0052f090]
mov rcx, rdi
call fcn.004024e0
test eax, eax
je 0x4047b1
mov eax, dword [rsi + 0x18]
and al, 0x7d
or eax, 1
mov dword [rsi + 0x18], eax
jmp 0x403e70
lea rdx, str..gnu.build.attributes
mov rcx, rbx
call fcn.0042a590
test rax, rax
mov qword [rsp + 0x40], rax
mov rdi, rax
je 0x4035da
lea rcx, [rbx + 8]
mov rdx, rax
lea r8, [rax + 0xe0]
call fcn.00402220
test eax, eax
je 0x4035da
mov rax, qword [rdi + 0x38]
mov r8, rdi
test rax, rax
mov qword [rsp + 0x58], rax
jne 0x4048f8
lea r9, str.warning:_note_section_is_empty
mov rdx, rbx
xor ecx, ecx
call fcn.0041fbc0
mov dword [0x0052f160], 0
jmp 0x4035da
mov r8, qword [rsi]
lea r9, str.Cant_fill_gap_after_section
mov rdx, rbp
xor ecx, ecx
call fcn.0041fbc0
mov dword [0x0052f164], 1
mov edi, dword [0x0052f108]
test edi, edi
je 0x403b2e
mov rax, qword [rsp + 0x90]
lea esi, [r13 - 1]
mov r8, qword [0x0052f100]
lea rdi, [rax + rsi*8]
mov rdx, qword [rdi]
mov rax, qword [rdx + 0x30]
mov r12, qword [rdx + 0x38]
add r12, rax
cmp r12, r8
jae 0x403b2e
sub r8, rax
mov rcx, rbp
call fcn.0042ac10
test eax, eax
je 0x404dad
mov rax, qword [0x0052f100]
mov rdi, qword [rsp + 0x98]
sub rax, r12
mov qword [rdi + rsi*8], rax
mov rdi, qword [rsp + 0x80]
cmp rdi, rax
cmovae rax, rdi
mov qword [rsp + 0x80], rax
jmp 0x403b2e
mov rdx, qword [0x0052f180]
xor r9d, r9d
mov r8d, r14d
mov rcx, rbx
call fcn.004064c0
mov qword [rsp + 0x78], rax
jmp 0x403b45
mov rdx, qword [0x0052f078]
mov rcx, rdi
call fcn.004024e0
test eax, eax
jne 0x403e4f
jmp 0x403e5a
mov r12, rdi
jmp 0x403ced
mov rax, qword [rsp + 0x80]
mov esi, 0x2000
cmp rax, 0x2000
cmovbe rsi, rax
mov rcx, rsi
call fcn.004d1690
movzx edx, byte [0x0052f10c]
mov r8, rsi
mov rcx, rax
mov r14, rax
call sub.msvcrt.dll_memset
mov eax, dword [rbp + 0x98]
test eax, eax
je 0x4042c6
mov r15, qword [rsp + 0x90]
sub eax, 1
mov rsi, rbx
mov r13, qword [rsp + 0x98]
lea rax, [r15 + rax*8 + 8]
mov qword [rsp + 0x38], rax
mov rdi, qword [r13]
test rdi, rdi
jne 0x4045eb
add r13, 8
add r15, 8
cmp qword [rsp + 0x38], r15
jne 0x4045cb
mov rbx, rsi
jmp 0x4042c6
mov rdx, qword [r15]
mov rbx, qword [rdx + 0x38]
sub rbx, rdi
jmp 0x40460b
add rbx, r12
sub rdi, r12
je 0x4045d4
mov rdx, qword [r15]
cmp rdi, 0x2000
mov r12d, 0x2000
mov r9, rbx
cmovbe r12, rdi
mov r8, r14
mov rcx, rbp
mov qword [rsp + 0x20], r12
call fcn.0042ac50
test eax, eax
jne 0x404600
mov r8, qword [r15]
xor r9d, r9d
mov rdx, rbp
xor ecx, ecx
mov esi, eax
call fcn.0041fbc0
jmp 0x40318e
xor r9d, r9d
mov r8, rdi
mov rdx, rbp
xor ecx, ecx
mov esi, eax
call fcn.0041fbc0
jmp 0x40318e
mov rdx, qword [0x0052f0d0]
mov rcx, rbp
call fcn.0042a170
test rax, rax
mov qword [rsp + 0x88], rax
je 0x404d95
mov rax, qword [rbp + 8]
cmp dword [rax + 8], 2
jne 0x40393d
mov rax, qword [rbp + 0x88]
test rax, rax
je 0x404d8b
mov rdx, qword [rax + 0x28]
test rdx, rdx
je 0x4046b6
test rsi, rsi
je 0x4046b3
cmp rdx, qword [rsi + 0x28]
jbe 0x4046b6
mov rsi, rax
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x40469f
test rsi, rsi
je 0x404d8b
mov rax, qword [rsi + 0x38]
or rdx, 0xffffffffffffffff
add rax, qword [rsi + 0x28]
cmp rax, 0xfffffffffffff000
ja 0x4046eb
add rax, 0xfff
and rax, 0xfffffffffffff000
mov rdx, rax
mov rax, qword [rsp + 0x88]
or byte [rax + 0x24], 1
mov qword [rax + 0x30], rdx
mov qword [rax + 0x28], rdx
jmp 0x40393d
mov rdx, qword [rsp + 0x78]
lea rax, [rsp + 0xe0]
mov rcx, rbp
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xc0]
lea r8, [rsp + 0xb0]
call fcn.0041ebb0
test eax, eax
je 0x404155
lea rdx, [0x004e40bc]
mov r8d, 0x2108
mov rcx, rbp
call fcn.0042aa10
mov r8d, 0x2108
mov rcx, rbp
lea rdx, [0x004e40c2]
mov rdi, rax
call fcn.0042aa10
test rdi, rdi
mov rsi, rax
je 0x404798
test rax, rax
je 0x404798
mov r8, qword [rsp + 0xc0]
mov rdx, rdi
mov rcx, rbp
call fcn.0042ac10
test eax, eax
jne 0x405020
lea r9, str.cant_create_debugging_section
xor r8d, r8d
mov rdx, rbp
xor ecx, ecx
call fcn.0041fbc0
jmp 0x404155
mov rcx, qword [0x0052f080]
call fcn.004cf350
test rax, rax
jne 0x404976
cmp dword [0x0052f0b0], 0
je 0x403e70
mov rax, qword [rsi]
test rax, rax
je 0x403e70
mov rdx, qword [rax + 8]
cmp dword [rdx + 8], 5
jne 0x403e70
cmp qword [rax + 0xf0], 0
je 0x403e70
movzx eax, byte [rsi + 0x45]
and eax, 3
sub eax, 1
cmp al, 1
ja 0x403e70
jmp 0x404407
lea rdx, str..gnu.build.attributes
mov rcx, rbp
call fcn.0042a590
test rax, rax
mov rdi, rax
je 0x404844
lea rcx, [rbp + 8]
mov rdx, rax
lea r8, [rax + 0xe0]
call fcn.00402220
test eax, eax
jne 0x404a49
mov rax, qword [0x00521480]
cmp dword [rax], 0
jne 0x404864
lea r9, str.could_not_find_any_mergeable_note_sections
mov r8, rdi
mov rdx, rbp
xor ecx, ecx
call fcn.0041fbc0
mov rcx, qword [0x0052f158]
call fcn.004d4f88
mov qword [0x0052f158], 0
mov dword [0x0052f160], 0
jmp 0x404285
call qword [sym.imp.msvcrt.dll__errno]
xor esi, esi
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov rdx, qword [r15 + 0x10]
lea rcx, str.error_writing_section_contents_to__s__error:__s_
mov r8, rax
call fcn.0041f240
mov rcx, qword [rsp + 0xe0]
call fcn.004d4f88
jmp 0x40318e
cmp dword [0x0052f148], 0
jne 0x40430a
cmp dword [0x0052f0b0], 0
jne 0x40430a
mov rcx, qword [0x0052f0a8]
call fcn.004cf350
test rax, rax
je 0x404e0e
mov eax, dword [0x0052f14c]
jmp 0x403b57
mov rdi, qword [rsp + 0x40]
lea r8, [0x0052f158]
mov rcx, rbx
mov rdx, rdi
call fcn.00426380
test eax, eax
jne 0x404a8a
lea r9, str.warning:_could_not_load_note_section
mov r8, rdi
mov rdx, rbx
xor ecx, ecx
call fcn.0041fbc0
mov rcx, qword [0x0052f158]
call fcn.004d4f88
mov qword [0x0052f158], 0
mov dword [0x0052f160], 0
jmp 0x4035da
mov rax, qword [0x0052f0d0]
xor r8d, r8d
mov rdx, rbp
xor ecx, ecx
lea r9, str.cannot_fill_debug_link_section___s
mov qword [rsp + 0x20], rax
call fcn.0041fbc0
jmp 0x40318e
mov rdx, qword [0x0052f080]
mov rcx, rdi
call fcn.004024e0
test eax, eax
je 0x404407
jmp 0x4047c6
mov rbx, qword [rsp + 0x150]
mov rdx, qword [rbx + 8]
cmp dword [rdx + 8], 2
je 0x404d6b
cmp dword [0x0052f14c], 3
je 0x403e04
mov eax, dword [0x0052f148]
cmp eax, 2
je 0x403e04
sub eax, 1
jne 0x403ff1
mov rcx, qword [rsp + 0x150]
mov rdx, rsi
call fcn.0042b220
test eax, eax
je 0x403ff1
jmp 0x403e04
mov rcx, rbp
call fcn.004251a0
test eax, eax
jne 0x4042ee
mov edx, dword [0x0052f0f8]
lea rcx, str.this_target_does_not_support__lu_alternative_machine_codes
call fcn.0041f240
mov rax, qword [rbp + 8]
cmp dword [rax + 8], 5
je 0x404dec
lea rcx, str.ignoring_the_alternative_value
mov esi, 1
call fcn.0041f240
jmp 0x40318e
lea r9, str.error_copying_private_BFD_data
xor r8d, r8d
mov rdx, rbp
xor ecx, ecx
call fcn.0041fbc0
jmp 0x40318e
mov rax, qword [0x0052f150]
xor r9d, r9d
mov rcx, rbp
mov r8, qword [0x0052f158]
mov qword [rsp + 0x20], rax
call fcn.0042ac50
test eax, eax
mov esi, eax
jne 0x404864
lea r9, str.error:_failed_to_copy_merged_notes_into_output
mov r8, rdi
mov rdx, rbp
xor ecx, ecx
call fcn.0041fbc0
jmp 0x40318e
mov rax, qword [0x0052f158]
mov rcx, rbx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
call fcn.00423fe0
test eax, eax
jle 0x404b1b
movsxd rcx, eax
call fcn.004d1690
mov r9, qword [0x0052f180]
mov rcx, rbx
mov rdx, qword [rsp + 0x40]
mov r8, rax
mov rsi, rax
call fcn.00424010
mov rcx, rsi
mov edi, eax
call fcn.004d4f88
test edi, edi
je 0x404b1b
mov qword [rsp + 0x48], 0
mov rcx, qword [rsp + 0x48]
call fcn.004d4f88
mov rcx, qword [0x0052f158]
call fcn.004d4f88
mov qword [0x0052f158], 0
mov dword [0x0052f160], 0
mov qword [0x0052f150], 0
jmp 0x4035da
mov rax, qword [rsp + 0x58]
mov ecx, 0xc
xor edx, edx
xor r12d, r12d
div rcx
mov edx, 0x40
mov rcx, rax
call fcn.004d16c0
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x158], rbp
mov rbp, rbx
mov r13, qword [rsp + 0x58]
mov r15, rax
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x78], 0
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x38], r14d
cmp r13, 0xb
jbe 0x4050a9
mov rax, qword [rbp + 8]
mov rcx, rdi
call qword [rax + 0x38]
lea rcx, [rdi + 4]
lea r9d, [rax + 3]
mov rax, qword [rbp + 8]
and r9d, 0xfffffffc
mov dword [r15], r9d
mov dword [rsp + 0x98], r9d
call qword [rax + 0x38]
lea rcx, [rdi + 8]
lea r8d, [rax + 3]
mov rax, qword [rbp + 8]
and r8d, 0xfffffffc
mov dword [r15 + 4], r8d
mov dword [rsp + 0x90], r8d
call qword [rax + 0x38]
mov rbx, rax
mov dword [r15 + 8], eax
lea eax, [rax - 0x100]
cmp eax, 1
ja 0x40508d
mov r8d, dword [rsp + 0x90]
mov r9d, dword [rsp + 0x98]
lea esi, [r9 + r8 + 0xc]
cmp rsi, r13
ja 0x404ff8
cmp r9d, 1
jbe 0x404fdc
lea rax, [rdi + 0xc]
sub r13, rsi
add rsi, rdi
mov qword [r15 + 0x10], rax
mov eax, r9d
lea r14, [rdi + rax + 0xc]
mov qword [r15 + 0x18], r14
movzx eax, byte [rdi + 0xc]
cmp al, 0x24
je 0x404cef
cmp r9d, 4
jbe 0x404c5b
cmp al, 0x47
jne 0x404c5b
cmp byte [rdi + 0xd], 0x41
je 0x404f63
cmp r8d, 4
je 0x404dd0
jbe 0x404d59
cmp r8d, 8
je 0x404d32
cmp r8d, 0x10
jne 0x404f4a
mov rax, qword [rbp + 8]
mov rcx, r14
call qword [rax + 0x20]
lea rcx, [r14 + 8]
mov rdi, rax
mov rax, qword [rbp + 8]
call qword [rax + 0x20]
cmp ebx, 0x100
je 0x404d0c
test rdi, rdi
cmove edi, dword [rsp + 0x80]
test rax, rax
cmove eax, dword [rsp + 0x88]
mov dword [rsp + 0x80], edi
mov edi, edi
mov dword [rsp + 0x88], eax
mov eax, eax
mov qword [r15 + 0x28], rdi
mov qword [r15 + 0x30], rax
mov eax, dword [r15]
mov rdx, qword [r15 + 0x10]
sub eax, 1
cmp byte [rdx + rax], 0
jne 0x404f08
add r15, 0x40
mov rdi, rsi
jmp 0x404b92
cmp byte [rdi + 0xd], 1
jne 0x404c5b
cmp byte [rdi + 0xe], 0x31
jne 0x404c5b
add r12d, 1
jmp 0x404c5b
test rdi, rdi
cmove edi, dword [rsp + 0x70]
test rax, rax
cmove eax, dword [rsp + 0x78]
mov dword [rsp + 0x70], edi
mov edi, edi
mov dword [rsp + 0x78], eax
mov eax, eax
mov qword [r15 + 0x28], rdi
mov qword [r15 + 0x30], rax
jmp 0x404ccf
mov rax, qword [rbp + 8]
cmp dword [rax + 8], 5
je 0x404f8d
mov rcx, r14
call qword [rax + 0x38]
lea rcx, [r14 + 4]
mov rdi, rax
mov rax, qword [rbp + 8]
call qword [rax + 0x38]
jmp 0x404c97
test r8d, r8d
jne 0x404f4a
xor eax, eax
xor edi, edi
jmp 0x404c97
mov rax, qword [rax + 0xe0]
test rax, rax
je 0x4049a8
cmp qword [rax + 0x40], 0
jne 0x403ff1
jmp 0x4049a8
mov edx, 0x1000
jmp 0x4046eb
mov rax, qword [0x0052f0d0]
lea r9, str.cannot_create_debug_link_section___s
mov qword [rsp + 0x20], rax
jmp 0x403aca
mov r8, qword [rdi]
lea r9, str.cant_add_padding
mov rdx, rbp
xor ecx, ecx
call fcn.0041fbc0
mov dword [0x0052f164], 1
jmp 0x403b2e
mov rax, qword [rbp + 8]
mov rcx, r14
call qword [rax + 0x38]
mov rdi, rax
movabs rax, 0x7ffffffffffffff
jmp 0x404c97
lea rcx, str.treating_that_number_as_an_absolute_e_machine_value_instead
call fcn.0041f240
mov rax, qword [rbp + 0xf0]
mov edx, dword [0x0052f0f8]
mov word [rax + 0x32], dx
jmp 0x4042ee
mov rcx, qword [0x0052f098]
call fcn.004cf350
test rax, rax
jne 0x4048ed
mov rcx, qword [0x0052f090]
call fcn.004cf350
test rax, rax
jne 0x4048ed
mov rcx, qword [0x0052f088]
call fcn.004cf350
test rax, rax
jne 0x4048ed
mov rcx, qword [0x0052f080]
call fcn.004cf350
test rax, rax
jne 0x4048ed
mov rcx, qword [0x0052f078]
call fcn.004cf350
test rax, rax
jne 0x4048ed
mov rcx, qword [0x0052f070]
call fcn.004cf350
test rax, rax
jne 0x4048ed
cmp qword [0x0052f048], 0
jne 0x4048ed
cmp dword [0x0052f13c], 0
jne 0x4048ed
cmp dword [0x0052f138], 0
jne 0x4048ed
cmp dword [0x0052f0c8], 0
jne 0x4048ed
cmp dword [0x0052f0bc], 0
jne 0x4048ed
cmp dword [0x0052f0b8], 0
jne 0x4048ed
cmp qword [0x0052f188], 0
jne 0x4048ed
cmp dword [0x0052f054], 0
jne 0x4048ed
cmp dword [0x0052f058], 0
jne 0x4048ed
jmp 0x4041b8
movsxd r14, dword [rsp + 0x38]
lea rsi, str.corrupt_GNU_build_attribute_note:_name_not_NUL_terminated
mov rbx, rbp
mov rbp, qword [rsp + 0x158]
mov ecx, 0x11
call fcn.00424130
mov r8, qword [rsp + 0x40]
mov r9, rsi
mov rdx, rbx
xor ecx, ecx
call fcn.0041fbc0
mov dword [0x0052f164], 1
jmp 0x404ae0
movsxd r14, dword [rsp + 0x38]
lea rsi, str.corrupt_GNU_build_attribute_note:_bad_description_size
mov rbx, rbp
mov rbp, qword [rsp + 0x158]
jmp 0x404f1f
cmp byte [rdi + 0xe], 0x24
jne 0x404c5b
cmp byte [rdi + 0xf], 1
jne 0x404c5b
movzx eax, byte [rdi + 0x10]
cmp al, 0x32
je 0x404fd2
cmp al, 0x33
jne 0x404fb6
add dword [rsp + 0x50], 1
jmp 0x404c5b
mov rcx, qword [rbp + 0xf0]
cmp byte [rcx + 4], 2
jne 0x404d40
mov rcx, r14
call qword [rax + 0x20]
mov rdi, rax
movabs rax, 0x7ffffffffffffff
jmp 0x404c97
movsxd r14, dword [rsp + 0x38]
lea rsi, str.corrupt_GNU_build_attribute_note:_unsupported_version
mov rbx, rbp
mov rbp, qword [rsp + 0x158]
jmp 0x404f1f
add dword [rsp + 0x60], 1
jmp 0x404c5b
movsxd r14, dword [rsp + 0x38]
lea rsi, str.corrupt_GNU_build_attribute_note:_name_too_small
mov rbx, rbp
mov rbp, qword [rsp + 0x158]
jmp 0x404f1f
movsxd r14, dword [rsp + 0x38]
lea rsi, str.corrupt_GNU_build_attribute_note:_note_too_big
mov rbx, rbp
mov rbp, qword [rsp + 0x158]
jmp 0x404f1f
lea rcx, str.before_s_not_found
call fcn.0041f210
mov r8, qword [rsp + 0xe0]
mov rdx, rsi
mov rcx, rbp
call fcn.0042ac10
test eax, eax
je 0x404798
mov dword [rdi + 0x70], 2
xor r9d, r9d
mov rdx, rdi
mov rcx, rbp
mov rax, qword [rsp + 0xc0]
mov dword [rsi + 0x70], 0
mov r8, qword [rsp + 0xb0]
mov qword [rsp + 0x20], rax
call fcn.0042ac50
test eax, eax
jne 0x405228
lea r9, str.cant_set_debugging_section_contents
xor r8d, r8d
mov rdx, rbp
xor ecx, ecx
call fcn.0041fbc0
jmp 0x404155
movsxd r14, dword [rsp + 0x38]
lea rsi, str.corrupt_GNU_build_attribute_note:_wrong_note_type
mov rbx, rbp
mov rbp, qword [rsp + 0x158]
jmp 0x404f1f
test r13, r13
mov rbx, rbp
movsxd r14, dword [rsp + 0x38]
mov rbp, qword [rsp + 0x158]
jne 0x40521c
mov eax, dword [rsp + 0x60]
mov edi, r12d
or eax, dword [rsp + 0x50]
or edi, eax
je 0x40519d
test r12d, r12d
je 0x4050e9
lea rsi, str.bad_GNU_build_attribute_notes:_multiple_different_versions
test eax, eax
jne 0x404f1f
cmp dword [rsp + 0x60], 0
je 0x405102
cmp dword [rsp + 0x50], 0
lea rsi, str.bad_GNU_build_attribute_notes:_multiple_different_versions
jne 0x404f1f
cmp r12d, 1
sete dl
cmp dword [rsp + 0x60], 1
sete al
or dl, al
jne 0x404ae0
cmp dword [rsp + 0x50], 1
je 0x404ae0
lea rsi, str.bad_GNU_build_attribute_notes:_first_note_not_version_note
cmp r12d, 1
sbb eax, eax
and eax, 2
add eax, 1
lea edi, [rax + 1]
mov dword [rsp + 0x38], edi
movsxd rdi, eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x70], rdi
mov rax, qword [rax + 0x10]
cmp byte [rax + rdi], 1
jne 0x404f1f
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x60], 0
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], rbp
lea r13, [rax + 0x40]
movsxd rax, dword [rsp + 0x38]
mov qword [rsp + 0x78], rax
cmp r15, r13
jbe 0x405258
cmp dword [r13 + 8], 0x100
je 0x4051a9
add r13, 0x40
jmp 0x405184
lea rsi, str.bad_GNU_build_attribute_notes:_no_known_versions_detected
jmp 0x404f1f
mov rdx, qword [r13 + 0x10]
lea rbx, [r13 - 0x40]
xor esi, esi
mov rax, qword [rsp + 0x70]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x80], al
mov rax, qword [rsp + 0x78]
add rax, rdx
mov qword [rsp + 0x90], rax
cmp qword [rsp + 0x48], rbx
ja 0x405197
mov rax, qword [rsp + 0x70]
test rsi, rsi
mov r11, qword [rbx + 0x10]
movzx ecx, byte [r11 + rax]
mov eax, dword [rbx + 8]
je 0x40520a
cmp byte [rsp + 0x80], cl
jne 0x405204
cmp eax, 0x100
je 0x4054dd
sub rbx, 0x40
jmp 0x4051d3
cmp dword [rbx + 4], 0
je 0x4051f0
cmp eax, 0x101
je 0x405204
mov rsi, rbx
jmp 0x4051f0
lea rsi, str.corrupt_GNU_build_attribute_notes:_excess_data_at_end
jmp 0x404f1f
mov rax, qword [rsp + 0xe0]
xor r9d, r9d
mov rdx, rsi
mov rcx, rbp
mov r8, qword [rsp + 0xb8]
mov qword [rsp + 0x20], rax
call fcn.0042ac50
test eax, eax
je 0x405074
jmp 0x4041b8
cmp dword [rsp + 0x60], 0
mov rbx, qword [rsp + 0x150]
mov rbp, qword [rsp + 0x158]
je 0x404ae0
mov rcx, qword [rsp + 0x58]
call fcn.004d1690
mov r13, qword [rsp + 0x48]
xor edx, edx
mov qword [rsp + 0x78], r15
mov rdi, rax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x88], r14d
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x158], rbp
mov r12, r13
mov r13, rdi
mov qword [rsp + 0x38], rax
xor eax, eax
cmp qword [rsp + 0x78], r12
jbe 0x40544f
mov r8d, dword [r12]
mov ecx, dword [r12 + 4]
add ecx, r8d
lea r14d, [rcx + 0xc]
mov ecx, dword [r12 + 8]
test ecx, ecx
je 0x4053b3
cmp dword [r12 + 0x38], 0
je 0x405437
mov rdi, qword [r12 + 0x28]
lea rsi, [r13 + 4]
mov r15d, r8d
mov r11, qword [rbx + 8]
mov qword [rsp + 0x60], rsi
lea rsi, [r13 + 8]
mov qword [rsp + 0x50], rsi
lea rbp, [r13 + 0xc]
mov esi, ecx
mov qword [rsp + 0x70], rsi
lea rsi, [rbp + r15]
cmp rdi, rax
mov r11, qword [r11 + 0x48]
je 0x4053ec
mov rcx, r15
mov rdx, r13
call r11
mov rax, qword [rbx + 8]
mov ecx, 8
cmp dword [rax + 8], 5
mov r10, qword [rax + 0x48]
jne 0x405359
mov rax, qword [rbx + 0xf0]
xor ecx, ecx
cmp byte [rax + 4], 2
sete cl
lea rcx, [rcx*8 + 8]
mov rdx, qword [rsp + 0x60]
lea r13, [rsi + 8]
call r10
mov rax, qword [rbx + 8]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
call qword [rax + 0x48]
mov rdx, qword [r12 + 0x10]
mov r8, r15
mov rcx, rbp
call sub.msvcrt.dll_memcpy
mov rax, qword [rbx + 8]
cmp dword [rax + 8], 5
je 0x4053c1
mov rdx, rsi
mov rcx, rdi
call qword [rax + 0x48]
mov rax, qword [rbx + 8]
lea rdx, [rsi + 4]
mov rcx, qword [r12 + 0x30]
call qword [rax + 0x48]
mov rax, qword [r12 + 0x28]
mov rdx, qword [r12 + 0x30]
add qword [rsp + 0x38], r14
add r12, 0x40
jmp 0x4052b6
mov rdx, qword [rbx + 0xf0]
cmp byte [rdx + 4], 2
jne 0x405390
mov rdx, rsi
mov rcx, rdi
call qword [rax + 0x30]
mov rax, qword [rbx + 8]
mov rdx, r13
mov rcx, qword [r12 + 0x30]
lea r13, [rsi + 0x10]
call qword [rax + 0x30]
jmp 0x4053a9
cmp qword [r12 + 0x30], rdx
jne 0x405325
mov rdx, r13
mov rcx, r15
mov r13, rsi
call r11
mov rax, qword [rbx + 8]
xor ecx, ecx
mov rdx, qword [rsp + 0x60]
call qword [rax + 0x48]
mov rax, qword [rbx + 8]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
call qword [rax + 0x48]
mov rdx, qword [r12 + 0x10]
mov r8, r15
mov rcx, rbp
call sub.msvcrt.dll_memcpy
jmp 0x4053a9
mov rdx, qword [rsp + 0x38]
mov rcx, r13
mov r8, r14
add r13, r14
call sub.msvcrt.dll_memcpy
jmp 0x4053a9
mov rdi, qword [rsp + 0x80]
mov rsi, r13
mov rcx, qword [rsp + 0x68]
movsxd r14, dword [rsp + 0x88]
mov rbp, qword [rsp + 0x158]
sub rsi, rdi
mov rdx, rdi
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov rcx, rdi
call fcn.004d4f88
mov rcx, qword [rsp + 0x48]
call fcn.004d4f88
cmp qword [rsp + 0x58], rsi
mov qword [0x0052f150], rsi
je 0x404aea
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0x68]
test rdx, rdx
je 0x4054c2
mov r8, rsi
mov rcx, rbp
call fcn.0042ac10
test eax, eax
jne 0x4035da
mov r8, qword [rsp + 0x40]
lea r9, str.warning:_failed_to_set_merged_notes_size
mov rdx, rbp
xor ecx, ecx
call fcn.0041fbc0
jmp 0x404aea
cmp cl, 4
mov eax, dword [r13]
jne 0x405519
mov r9d, eax
sub r9d, dword [rsp + 0x38]
xor r8d, r8d
xor eax, eax
cmp r9, r8
lea ecx, [r8*8]
je 0x40554b
mov rdi, qword [rsp + 0x90]
movzx r10d, byte [rdi + r8]
add r8, 1
shl r10d, cl
or eax, r10d
jmp 0x4054f3
cmp dword [rbx], eax
je 0x4055bf
cmp dword [rsp + 0x50], 0
je 0x405595
mov dword [r13 + 0x38], 1
mov dword [r13 + 8], 0x101
mov dword [rbx + 0x38], 1
mov dword [rbx + 8], 0x101
jmp 0x405197
mov ebp, dword [rbx]
xor r8d, r8d
xor r10d, r10d
mov rdi, qword [rsp + 0x78]
mov r12d, ebp
sub r12d, dword [rsp + 0x38]
lea r9, [r11 + rdi]
mov edi, r12d
mov qword [rsp + 0x88], rdi
cmp qword [rsp + 0x88], r8
lea ecx, [r8*8]
je 0x405634
movzx edi, byte [r9 + r8]
add r8, 1
shl edi, cl
or r10d, edi
jmp 0x40556f
cmp dword [r13 + 4], 0
jne 0x405197
test rsi, rsi
je 0x405197
cmp dword [rsi + 8], 0
jne 0x405197
mov dword [rsi + 8], 0x100
jmp 0x405197
mov r8d, eax
mov rcx, r11
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x405521
mov rax, qword [rbx + 0x30]
test rax, rax
je 0x405521
mov rdx, qword [r13 + 0x30]
test rdx, rdx
je 0x405521
cmp rax, 0xfffffffffffffff0
ja 0x405604
lea rcx, [rax + 0xf]
and rcx, 0xfffffffffffffff0
cmp rcx, qword [r13 + 0x28]
jb 0x405521
cmp rax, rdx
mov dword [r13 + 8], 0
jae 0x405615
mov qword [rbx + 0x30], rdx
cmp dword [rsp + 0x50], 0
mov dword [rsp + 0x60], 1
je 0x405197
mov dword [rbx + 0x38], 1
jmp 0x405197
add eax, r10d
xor ecx, ecx
mov r8d, eax
test r8d, r8d
je 0x40564a
add ecx, 1
shr r8d, 8
jmp 0x40563c
cmp r12d, ecx
jbe 0x405204
mov edx, ebp
add r11, rdx
cmp r9, r11
jae 0x40566e
add r9, 1
test eax, eax
mov byte [r9 - 1], al
je 0x40566e
shr eax, 8
jmp 0x405658
mov dword [r13 + 8], 0
mov dword [rsp + 0x60], 1
jmp 0x405197