Function at 0x495720
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x258
movaps xmmword [rsp + 0x230], xmm6
movaps xmmword [rsp + 0x240], xmm7
movzx eax, byte [rcx + 0x40]
and eax, 7
mov r15, rcx
mov qword [rsp + 0x2a8], rdx
cmp al, 1
je 0x4957b8
cmp al, 2
je 0x495790
mov ecx, 3
call fcn.00438da0
xor eax, eax
movaps xmm6, xmmword [rsp + 0x230]
movaps xmm7, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rcx + 0x43], 0
jns 0x495c28
mov rax, qword [rcx + 0xf0]
mov eax, dword [rax + 0x20]
test eax, eax
jne 0x495c50
mov eax, 1
jmp 0x495769
mov rax, qword [rsp + 0x2a8]
test byte [rcx + 0x41], 8
mov rdi, qword [rax + 0x28]
mov rax, qword [rcx + 8]
mov qword [rsp + 0x88], rdi
mov r14, qword [rax + 0x368]
jne 0x495bb0
mov rax, qword [rsp + 0x2a8]
test byte [rax + 6], 8
jne 0x495fc0
mov rbp, qword [rcx + 0x88]
mov dword [rsp + 0x80], 0
test rbp, rbp
je 0x4960b0
mov r12, qword [rsp + 0x2a8]
lea rdi, str..gnu.warning.
nop dword [rax]
mov rbx, qword [rbp]
mov r8d, 0xd
mov rdx, rdi
mov rcx, rbx
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x495923
mov eax, dword [rsp + 0x80]
add rbx, 0xd
test eax, eax
je 0x49587e
mov rcx, qword [rsp + 0x88]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 1
mov rdx, rbx
call fcn.0043eb80
test rax, rax
je 0x49587e
movzx eax, byte [rax + 0x18]
sub eax, 3
cmp al, 1
jbe 0x495923
mov rsi, qword [rbp + 0x38]
mov rcx, r15
lea rdx, [rsi + 1]
call fcn.00443400
test rax, rax
mov r13, rax
je 0x495767
xor r9d, r9d
mov qword [rsp + 0x20], rsi
mov r8, rax
mov rdx, rbp
mov rcx, r15
call fcn.00445d40
test eax, eax
je 0x495767
mov byte [r13 + rsi], 0
mov r8, rbx
mov rdx, r15
mov rcx, r12
mov qword [rsp + 0x48], 0
mov r9d, 0x1000
movzx eax, byte [r14 + 0x38c]
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], 0
and eax, 1
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0x40], eax
call fcn.0043fb90
test eax, eax
je 0x495767
test byte [r12], 2
jne 0x495923
or dword [rbp + 0x20], 0x8000
mov qword [rbp + 0x38], 0
mov rbp, qword [rbp + 0x10]
test rbp, rbp
jne 0x495820
mov rax, qword [r15 + 0x88]
test rax, rax
je 0x49594e
movzx eax, word [rax + 0x24]
and ax, 0x380
cmp ax, 0x200
je 0x496359
mov edx, dword [rsp + 0x80]
test edx, edx
je 0x4960b0
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0x40], 1
jne 0x495767
mov rax, qword [r15 + 0xf0]
mov rcx, r15
mov qword [rsp + 0x208], 0
lea rdx, str..dynamic
mov qword [rsp + 0x210], 0
movzx eax, word [rax + 0xc84]
shr ax, 6
mov r13d, eax
call fcn.00445580
and r13d, 0xf
test rax, rax
mov rdi, rax
je 0x4979a9
lea r8, [rsp + 0x218]
mov rdx, rax
mov rcx, r15
call fcn.00445e40
test eax, eax
je 0x497b3d
mov rdx, rdi
mov rcx, r15
call fcn.00481870
cmp eax, 0xfffffeff
je 0x497b3d
mov rdx, qword [r15 + 0xf0]
mov eax, eax
mov rbx, qword [rsp + 0x218]
mov rdx, qword [rdx + 0x50]
mov rax, qword [rdx + rax*8]
mov r12d, dword [rax + 0x28]
mov rax, qword [rdi + 0x38]
add rax, rbx
cmp rbx, rax
jae 0x4979a1
lea rsi, [rsp + 0x220]
xor ebp, ebp
mov byte [rsp + 0xa0], r13b
mov rax, qword [r14 + 0x300]
mov qword [rsp + 0x80], 0
mov r13, rsi
jmp 0x495a7a
cmp rax, 0x6ffffefc
je 0x4963e0
mov rax, qword [r14 + 0x300]
mov rcx, qword [rsp + 0x218]
movzx edx, byte [rax + 6]
add rbx, rdx
mov rdx, qword [rdi + 0x38]
add rdx, rcx
cmp rbx, rdx
jae 0x498681
mov r8, r13
mov rdx, rbx
mov rcx, r15
call qword [rax + 0x50]
mov rax, qword [rsp + 0x220]
cmp rax, 0xe
je 0x4963b0
cmp rax, 1
je 0x497783
cmp rax, 0x1d
je 0x4976b4
mov rsi, qword [rsp + 0x210]
test rsi, rsi
jne 0x495a48
cmp rax, 0xf
jne 0x495a48
mov r8, qword [rsp + 0x228]
mov edx, 0x18
mov rcx, r15
mov qword [rsp + 0x98], r8
call fcn.00443400
mov r8, qword [rsp + 0x98]
mov edx, r12d
mov rcx, r15
mov qword [rsp + 0x90], rax
call fcn.0047d540
cmp qword [rsp + 0x90], 0
je 0x497b3d
test rax, rax
je 0x497b3d
mov rcx, rax
mov qword [rsp + 0xa8], rax
call sub.msvcrt.dll_strlen
mov rcx, r15
lea r8, [rax + 1]
mov rdx, r8
mov qword [rsp + 0x98], r8
call fcn.00443400
test rax, rax
mov rcx, rax
je 0x497b3d
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa8]
call sub.msvcrt.dll_memcpy
mov rcx, rax
mov rax, qword [rsp + 0x90]
mov qword [rax + 0x10], rcx
mov qword [rax + 8], r15
mov qword [rax], 0
mov rax, qword [rsp + 0x208]
test rax, rax
je 0x498e7a
nop word [rax + rax]
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x495b88
mov rax, qword [rsp + 0x90]
mov qword [rdx], rax
mov rax, qword [rsp + 0x220]
jmp 0x495a48
mov rsi, qword [rsp + 0x2a8]
movzx esi, byte [rsi]
mov edx, esi
mov byte [rsp + 0x80], sil
and edx, 3
cmp dl, 2
je 0x496398
cmp dword [rdi + 0x40], 1
jne 0x49575d
mov rdi, qword [rsp + 0x2a8]
mov rdx, qword [rdi + 0x50]
cmp rax, qword [rdx + 8]
jne 0x49575d
mov rax, qword [rsp + 0x2a8]
test byte [rax + 6], 8
jne 0x497908
mov rbp, qword [rcx + 0x88]
mov dword [rsp + 0x80], 1
test rbp, rbp
jne 0x49580e
jmp 0x49596f
xor edx, edx
call fcn.00435b60
test rax, rax
je 0x4957ac
mov ecx, 8
call fcn.00438da0
xor eax, eax
jmp 0x495769
mov ebp, eax
mov rcx, rbp
call fcn.0043e060
test rax, rax
mov r12, rax
je 0x495767
mov rax, qword [r15 + 0xf0]
shl rbp, 4
mov qword [rsp + 0x2a0], r15
mov r13, qword [rsp + 0x2a8]
mov r11, qword [rax + 0x18]
mov rax, qword [r15 + 8]
add rbp, r11
mov r14, r11
mov rax, qword [rax + 0x368]
mov rax, qword [rax + 0x78]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x220]
mov qword [rsp + 0x98], rax
cmp r14, rbp
jae 0x49604f
mov dword [rsp + 0x90], 0
xor edi, edi
mov r15, r14
mov qword [rsp + 0x80], 0xffffffffffffffff
jmp 0x495cf7
cmp al, 2
je 0x495ce7
mov byte [rbx], 1
add r15, 0x10
add edi, 1
cmp r15, rbp
jae 0x496040
mov ebx, edi
add rbx, r12
cmp byte [rbx], 0
jne 0x495ce7
mov rax, qword [rsp + 0x80]
cmp rax, qword [r15 + 8]
je 0x495ce4
mov r8, qword [r15]
mov rdx, r13
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rsp + 0x88]
call rax
cmp rax, 0xffffffffffffffff
je 0x496030
test rax, rax
je 0x495ce7
movzx eax, byte [rax + 0x18]
cmp al, 5
je 0x495e28
cmp al, 1
jne 0x495ce0
mov rcx, qword [rsp + 0x2a0]
mov rdx, qword [r15 + 8]
call fcn.00435780
test rax, rax
mov rcx, rax
mov qword [rsp + 0x220], rax
je 0x496030
mov edx, 1
call fcn.0043d010
test eax, eax
je 0x496030
mov rax, qword [r13 + 0x28]
mov rcx, r13
mov r9, qword [rsp + 0x98]
mov r8, qword [r15]
mov rdx, qword [rsp + 0x220]
mov rsi, qword [rax + 0x30]
mov rax, qword [r13 + 0x20]
call qword [rax]
test eax, eax
je 0x495ce7
mov rcx, qword [rsp + 0x220]
mov rdx, r13
mov rax, qword [rcx + 8]
call qword [rax + 0x2c0]
test eax, eax
je 0x496030
mov rax, qword [r13 + 0x28]
cmp rsi, qword [rax + 0x30]
mov eax, 1
cmove eax, dword [rsp + 0x90]
mov dword [rsp + 0x90], eax
mov eax, edi
jmp 0x495e09
lea edx, [rax - 1]
mov rsi, qword [r15 + 8]
sub rbx, 1
mov rax, rdx
shl rdx, 4
cmp qword [r14 + rdx + 8], rsi
jne 0x495e10
test eax, eax
mov byte [rbx], 1
jne 0x495df0
mov rax, qword [r15 + 8]
mov qword [rsp + 0x80], rax
jmp 0x495ce7
mov rcx, qword [rsp + 0x2a0]
mov rdx, qword [r15 + 8]
call fcn.00435780
test rax, rax
mov rcx, rax
je 0x495ce7
mov edx, 1
mov qword [rsp + 0xa0], rax
call fcn.0043d010
test eax, eax
je 0x495ce7
mov rcx, qword [rsp + 0xa0]
movzx eax, byte [rcx + 0x44]
and eax, 0x30
cmp al, 0x10
je 0x496079
test al, al
je 0x49605c
test byte [rcx + 0x41], 8
mov r8, qword [rcx + 0xf0]
jne 0x496090
lea r11, [r8 + 0x60]
mov rax, qword [rcx + 8]
xor edx, edx
mov rax, qword [rax + 0x368]
mov rax, qword [rax + 0x300]
movzx r9d, byte [rax + 5]
mov rax, qword [r11 + 0x20]
div r9
xor r9d, r9d
test byte [r8 + 0xc85], 0x40
mov rsi, rax
jne 0x495eca
mov r9d, dword [r11 + 0x2c]
sub rsi, r9
test rsi, rsi
je 0x495ce7
mov r8, rsi
mov rdx, r11
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0xa0], rcx
call fcn.0047d560
test rax, rax
mov r8, rax
je 0x495ce7
shl rsi, 5
mov rcx, qword [rsp + 0xa0]
lea r9, [rax + rsi]
mov r11, qword [rsp + 0xa8]
mov rsi, rax
cmp rax, r9
jae 0x495fb3
mov qword [rsp + 0xa0], r12
mov r12, r9
mov qword [rsp + 0xa8], r14
mov r14, rax
mov qword [rsp + 0xb0], rbp
mov rbp, r11
mov qword [rsp + 0xb8], rbx
mov rbx, rcx
jmp 0x495f81
mov rdx, qword [r15]
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x4975ed
add rsi, 0x20
cmp rsi, r12
jae 0x495f98
mov edx, dword [rbp + 0x28]
mov rcx, rbx
mov r8d, dword [rsi + 0x10]
call fcn.0047d540
test rax, rax
mov rcx, rax
jne 0x495f68
mov r8, r14
mov r12, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xa8]
mov rcx, r8
call sub.msvcrt.dll_free
jmp 0x495ce7
mov dword [rsp + 0x80], 0
mov rax, qword [r15 + 0xf0]
mov r9d, dword [r14 + 8]
movzx edx, word [rax + 0x32]
cmp r9d, edx
je 0x495ffd
mov eax, dword [r14 + 0x2f8]
cmp edx, eax
jne 0x496018
test eax, eax
je 0x496018
lea rcx, str.alternate_ELF_machine_code_found___d__in__pB__expecting__d
mov r8, r15
call fcn.00438be0
mov rbp, qword [r15 + 0x88]
test rbp, rbp
jne 0x49580e
jmp 0x49594e
mov eax, dword [r14 + 0x2fc]
test eax, eax
je 0x495ffd
cmp edx, eax
jne 0x495ffd
jmp 0x495fee
mov rcx, r12
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x495769
mov edx, dword [rsp + 0x90]
test edx, edx
jne 0x495cb2
mov rcx, r12
call sub.msvcrt.dll_free
jmp 0x4957ac
mov qword [rsp + 0xa0], rcx
call fcn.004c2c40
mov rcx, qword [rsp + 0xa0]
test eax, eax
je 0x495e7e
mov rcx, qword [rcx + 0x48]
mov r8, qword [rcx + 0xf0]
lea r11, [r8 + 0x60]
jmp 0x495e93
mov r9d, dword [r8 + 0xc74]
lea r11, [r8 + 0x150]
test r9d, r9d
jne 0x495e93
jmp 0x495e8f
mov rax, qword [rsp + 0x2a8]
movzx eax, byte [rax]
test al, 1
jne 0x4960eb
and eax, 3
cmp al, 2
je 0x4960fd
mov rax, qword [rsp + 0x2a8]
test byte [rax + 7], 8
je 0x4960fd
mov rdi, qword [rsp + 0x2a8]
movabs rax, 0x400000000010
and rax, qword [rdi]
je 0x4960fd
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0x40], 1
je 0x4980b5
mov rcx, qword [r15 + 0xf0]
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x130], 1
mov dword [rsp + 0x134], 0
lea rax, [rcx + 0x60]
mov qword [rsp + 0xb8], rax
mov rax, qword [r14 + 0x300]
xor edx, edx
mov qword [rsp + 0xf8], 0
mov rdi, qword [rsp + 0xb8]
movzx r8d, byte [rax + 5]
mov rax, qword [rdi + 0x20]
div r8
test byte [rcx + 0xc85], 0x40
mov qword [rsp + 0xd8], rax
jne 0x496181
mov edi, dword [rdi + 0x2c]
sub rax, rdi
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0xd8], rax
cmp qword [rsp + 0xd8], 0
mov qword [rsp + 0xe8], 0
mov rsi, qword [rcx + 0x2f8]
jne 0x497561
mov eax, dword [rsp + 0x80]
test eax, eax
jne 0x49785b
mov rbx, qword [r15 + 0xf0]
xor ebp, ebp
test byte [rbx + 0xc84], 0x40
je 0x497500
mov r10, qword [rsp + 0x88]
mov eax, dword [r10 + 0x18]
test eax, eax
je 0x4987f7
mov r8, qword [r10]
shl rax, 3
xor edx, edx
mov qword [rsp + 0x120], rax
lea r9, [r8 + rax]
nop dword [rax]
mov rax, qword [r8]
test rax, rax
je 0x49621c
mov ecx, dword [r10 + 0x20]
nop dword [rax]
add rdx, rcx
cmp byte [rax + 0x18], 7
jne 0x496214
add rdx, rcx
mov rax, qword [rax]
test rax, rax
jne 0x496208
add r8, 8
cmp r9, r8
jne 0x4961f8
mov rax, qword [rsp + 0x120]
lea rcx, [rdx + rax]
call fcn.0043dda0
test rax, rax
mov qword [rsp + 0x118], rax
je 0x4971e9
mov rcx, qword [rsp + 0x88]
mov edx, 1
call fcn.0043d6a0
test rax, rax
mov qword [rsp + 0x140], rax
je 0x497b2b
xor r8d, r8d
mov rdx, qword [rsp + 0x2a8]
mov rcx, r15
call qword [r14 + 0xf8]
test eax, eax
je 0x497b2b
mov rdi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x118]
mov rdx, qword [rdi]
call sub.msvcrt.dll_memcpy
mov rax, rdi
movdqu xmm6, xmmword [rdi + 0x28]
mov rcx, qword [rax + 0x90]
mov rdi, qword [rdi]
movq xmm7, qword [rax + 0x18]
mov qword [rsp + 0x148], rdi
call fcn.004a45d0
test rax, rax
mov r13, rax
je 0x497b2b
mov rdi, qword [rsp + 0x88]
mov r12d, dword [rdi + 0x18]
test r12d, r12d
je 0x49640e
mov rax, qword [rsp + 0x118]
xor r12d, r12d
mov rcx, qword [rsp + 0x120]
add rcx, rax
nop word [rax + rax]
mov rax, qword [rdi]
mov rbx, qword [rax + r12*8]
test rbx, rbx
je 0x496400
mov r8d, dword [rdi + 0x20]
jmp 0x49632c
mov rbx, qword [rbx]
test rbx, rbx
je 0x496400
mov rdx, rbx
call sub.msvcrt.dll_memcpy
mov r8d, dword [rdi + 0x20]
mov rcx, rax
add rcx, r8
cmp byte [rbx + 0x18], 7
jne 0x496320
mov rdx, qword [rbx + 0x28]
call sub.msvcrt.dll_memcpy
mov r8d, dword [rdi + 0x20]
mov rcx, rax
add rcx, r8
jmp 0x496320
mov eax, dword [rsp + 0x80]
test eax, eax
je 0x49797f
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0x40], 1
jne 0x495767
lea r8, str.elf_link_add_object_symbols
mov edx, 0xfc9
lea rcx, str..._.._.._src_binutils_2.32_bfd_elflink.c
call fcn.00438d40
nop word [rax + rax]
mov ecx, 5
call fcn.00438da0
xor eax, eax
jmp 0x495769
mov r8d, dword [rsp + 0x228]
mov edx, r12d
mov rcx, r15
call fcn.0047d540
test rax, rax
mov rbp, rax
je 0x497b3d
mov rax, qword [rsp + 0x220]
jmp 0x495a98
mov r8d, dword [rsp + 0x228]
mov edx, r12d
mov rcx, r15
call fcn.0047d540
mov qword [rsp + 0x80], rax
jmp 0x495a54
add r12, 1
cmp r12d, dword [rdi + 0x18]
jb 0x496308
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x128], 0
mov rbx, qword [rsp + 0xe8]
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x138], 0
lea rdx, [rbp + rax*2]
xor eax, eax
test rbp, rbp
cmovne rax, rdx
mov rdi, rax
mov rax, qword [rsp + 0xd8]
shl rax, 5
add rax, rbx
cmp rbx, rax
mov qword [rsp + 0xc0], rax
jae 0x497d76
mov rax, qword [0x005683a0]
mov qword [rsp + 0x90], r14
mov r14, rsi
mov qword [rsp + 0x108], rbp
mov qword [rsp + 0x110], r13
add rax, 0x118
mov qword [rsp + 0xf0], rax
jmp 0x4968f8
mov rax, qword [rsp + 0x2a8]
test byte [rax + 7], 0x40
je 0x496945
movzx esi, byte [rbx + 0x14]
mov dword [rbx + 0x18], 0
shr sil, 4
cmp sil, 2
je 0x49796f
ja 0x497540
test sil, sil
je 0x4968d4
mov dword [rsp + 0xa8], 0
mov esi, 1
mov rax, qword [0x005683a0]
mov dword [rsp + 0xc8], 0
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x1f0], rax
mov rax, qword [rsp + 0xb8]
mov rcx, r15
mov r8d, dword [rbx + 0x10]
mov edx, dword [rax + 0x28]
call fcn.0047d540
test rax, rax
mov qword [rsp + 0x1f8], rax
je 0x49719c
cmp dword [rbx + 0x18], 0xfffffff2
je 0x496fe8
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0xc0]
test rax, rax
je 0x4965c0
lea rdx, [rsp + 0x1e8]
mov r8, rbx
mov rcx, r15
mov qword [rsp + 0x30], rdx
lea rdx, [rsp + 0x1f0]
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 0x1b8]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x1f8]
mov rdx, qword [rsp + 0x2a8]
call rax
test eax, eax
je 0x49719c
cmp qword [rsp + 0x1f8], 0
je 0x4968d4
mov rbp, qword [rsp + 0x1f0]
test rbp, rbp
je 0x4985c7
movzx eax, byte [rbx + 0x14]
and eax, 0xf
cmp al, 6
je 0x497050
mov rax, qword [rsp + 0x98]
mov dword [rsp + 0xa0], 0
add rax, 0x118
cmp rbp, rax
je 0x496611
mov eax, dword [rbp + 0x20]
shr eax, 0xc
xor eax, 1
and eax, 1
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0x1bc], 0
mov dword [rsp + 0x1c4], 0
mov dword [rsp + 0x1d0], 0
mov dword [rsp + 0x1cc], 0
movzx eax, byte [rax + 0x38c]
mov qword [rsp + 0x200], 0
mov byte [rsp + 0xb0], al
shr al, 1
and eax, 1
mov dword [rsp + 0x1c0], eax
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0x40], 1
jne 0x496a70
test rdi, rdi
je 0x497098
lea r8, [rsp + 0x218]
mov rdx, rdi
mov rcx, r15
call fcn.0047d2c0
movzx r13d, word [rsp + 0x218]
mov r12d, r13d
mov eax, r13d
and eax, 0x7fff
and r12w, 0x7fff
test r13w, r13w
mov dword [rsp + 0xb0], eax
jns 0x497118
mov r10d, dword [rbx + 0x18]
mov rcx, qword [r15 + 0xf0]
test r10d, r10d
je 0x4973bc
mov edx, dword [rcx + 0x338]
mov eax, dword [rsp + 0xb0]
cmp edx, eax
jb 0x49880a
test r13w, 0x7ffe
je 0x4972ac
sub eax, 1
shl rax, 6
add rax, qword [rcx + 0x340]
mov rax, qword [rax + 0x20]
test rax, rax
mov qword [rsp + 0xe0], rax
je 0x49880a
mov rcx, rax
call sub.msvcrt.dll_strlen
mov qword [rsp + 0xd0], rax
mov rcx, qword [rsp + 0x1f8]
call sub.msvcrt.dll_strlen
mov r12, rax
mov rax, qword [rsp + 0xd0]
add rax, r12
cmp word [rsp + 0x218], 0
lea rdx, [rax + 3]
jns 0x49675a
lea rdx, [rax + 2]
mov rcx, qword [rsp + 0x88]
call fcn.0043d6a0
test rax, rax
mov r13, rax
je 0x49719c
mov rdx, qword [rsp + 0x1f8]
mov r8, r12
mov rcx, rax
add r12, r13
call sub.msvcrt.dll_memcpy
mov byte [r12], 0x40
lea rcx, [r12 + 1]
cmp word [rsp + 0x218], 0
js 0x4967b2
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x4967b2
lea rcx, [r12 + 2]
mov byte [r12 + 1], 0x40
mov r8, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xe0]
add r8, 1
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x1f8], r13
mov rax, qword [rsp + 0x98]
add rax, 0x118
cmp qword [rsp + 0x1f0], rax
je 0x496820
mov r8d, dword [rsp + 0x80]
test r8d, r8d
jne 0x496820
test byte [r15 + 0x43], 0x20
je 0x496820
movzx eax, byte [rbx + 0x15]
mov edx, eax
and edx, 3
cmp dl, 1
je 0x496820
and eax, 0xfffffffc
or eax, 2
mov byte [rbx + 0x15], al
nop word cs:[rax + rax]
mov qword [rsp + 0x30], r14
mov r9, rbx
mov r8, r13
mov rcx, r15
lea rax, [rsp + 0x1d0]
mov rdx, qword [rsp + 0x2a8]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x1bc]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x220]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x1cc]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x1c4]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x200]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x20], rax
call fcn.00492ea0
test eax, eax
je 0x49719c
mov eax, dword [rsp + 0x220]
test eax, eax
je 0x4969e8
lea rax, [rdi + 2]
add rbx, 0x20
add r14, 8
test rdi, rdi
cmovne rdi, rax
mov rax, qword [rsp + 0xc0]
cmp rbx, rax
jae 0x497d5e
mov rax, qword [rbx]
mov rcx, rbx
mov dword [rsp + 0x1c8], 0
mov dword [rsp + 0x1b8], 0
mov qword [rsp + 0x1f0], 0
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x90]
call qword [rax + 0x2a0]
test eax, eax
mov dword [rsp + 0xa8], eax
jne 0x4964b0
movzx esi, byte [rbx + 0x14]
shr sil, 4
cmp sil, 2
je 0x497100
ja 0x497070
test sil, sil
je 0x4968d4
mov esi, dword [rsp + 0xa8]
mov edx, dword [rbx + 0x18]
test esi, esi
jne 0x4972cc
test edx, edx
je 0x4972cc
mov dword [rsp + 0x1b8], 2
mov esi, 1
mov dword [rsp + 0xa8], 0
nop dword [rax + rax]
cmp edx, 0xfffffff1
je 0x497220
cmp edx, 0xfffffff2
jne 0x49724d
mov rax, qword [0x005683a0]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x1f0], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x1e8], rax
mov dword [rsp + 0xc8], 0
jmp 0x496524
mov ecx, dword [rsp + 0x1c8]
test ecx, ecx
je 0x496a0b
mov edx, dword [rsp + 0x1d0]
test edx, edx
cmove eax, dword [rsp + 0xa0]
mov dword [rsp + 0xa0], eax
mov rdx, qword [r14]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
ja 0x496a2f
nop dword [rax]
mov rdx, qword [rdx + 0x28]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
jbe 0x496a20
mov rax, qword [r15 + 0xf0]
mov rax, qword [rax + 0x340]
test rax, rax
je 0x496a70
mov ecx, dword [rsp + 0xb0]
cmp ecx, 1
jbe 0x496a70
test byte [rsp + 0xa0], 1
je 0x496a70
sub ecx, 1
shl rcx, 6
add rax, rcx
mov qword [rdx + 0x70], rax
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x48], r14
mov rdx, r15
mov r9d, dword [rsp + 0x1b8]
mov r8, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x2a8]
movzx eax, byte [rax + 0x38c]
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
and eax, 1
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0x20], rax
call fcn.0043fb90
test eax, eax
je 0x49719c
test byte [r15 + 0x41], 8
mov edx, dword [rsp + 0x1b8]
jne 0x496b06
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0x50]
mov rcx, qword [rax + 8]
cmp dword [rcx + 8], 5
je 0x497918
mov r13, qword [r14]
movzx eax, byte [r13 + 0x18]
mov r12, r13
sub eax, 6
cmp al, 1
ja 0x496b32
nop dword [rax + rax]
mov r12, qword [r12 + 0x28]
movzx eax, byte [r12 + 0x18]
sub eax, 6
cmp al, 1
jbe 0x496b20
mov eax, dword [rsp + 0xc8]
test eax, eax
je 0x496b46
mov dword [r12 + 0x38], 0xfffffffd
and edx, 0x80
mov qword [r14], r12
mov dword [rsp + 0xb0], edx
je 0x496b6d
movzx eax, byte [rsp + 0x80]
test byte [rsp + 0xa0], al
jne 0x497455
mov eax, dword [rsp + 0xa8]
test eax, eax
jne 0x4970d0
mov rax, qword [rsp + 0x1f0]
test byte [rax + 0x21], 0x10
je 0x496ba0
cmp byte [r12 + 0x18], 5
je 0x497900
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0x40], 1
jne 0x4968d4
mov r11d, dword [r15 + 0x40]
shr r11d, 5
and r11d, 0xfffff
test r11d, 0x10000
jne 0x4972d6
mov eax, dword [rsp + 0x80]
test eax, eax
jne 0x497b88
mov ebp, dword [rsp + 0xa0]
movzx eax, byte [r12 + 0x5b]
test ebp, ebp
jne 0x4985e6
mov edx, eax
or edx, 1
cmp sil, 2
mov byte [r12 + 0x5b], dl
je 0x498b46
or eax, 0x11
cmp r13, r12
mov byte [r12 + 0x5b], al
je 0x496c1e
test byte [r13 + 0x5c], 8
jne 0x497bcb
mov rax, qword [rsp + 0x2a8]
movzx eax, byte [rax]
not eax
test al, 3
je 0x4987ed
xor esi, esi
test byte [r12 + 0x5b], 0xc
setne sil
mov r8d, dword [rsp + 0x1c8]
test r8d, r8d
jne 0x497377
movzx eax, byte [r12 + 0x18]
cmp al, 5
je 0x4972e9
mov ebp, dword [rsp + 0x1cc]
mov ecx, dword [rsp + 0xa8]
or ecx, ebp
je 0x49884c
test ebp, ebp
setne r8b
sub eax, 3
cmp al, 1
jbe 0x496ca3
mov edx, 0x12fc
mov byte [rsp + 0x98], r8b
lea rcx, str..._.._.._src_binutils_2.32_bfd_elflink.c
call fcn.00438d20
movzx r8d, byte [rsp + 0x98]
bsf eax, dword [r12 + 0x30]
mov r13d, 0xffffffff
mov rdx, qword [r12 + 0x28]
cmovne r13d, eax
mov rax, qword [rdx + 0xf0]
test rax, rax
je 0x496cdb
mov eax, dword [rax + 0x40]
shr eax, 5
test eax, 0x10040
jne 0x496cdb
mov eax, dword [rdx + 0x70]
cmp r13d, eax
cmova r13d, eax
test r8b, r8b
mov rdx, qword [rsp + 0x200]
mov r9, r15
je 0x498052
cmp r13d, ebp
jae 0x496d2f
mov eax, 1
mov ecx, ebp
mov r8, qword [rsp + 0x1f8]
mov r11d, eax
shl r11d, cl
mov ecx, r13d
shl eax, cl
test r9, r9
je 0x498714
mov qword [rsp + 0x28], rdx
lea rcx, str.warning:_alignment__u_of_symbol___s_in__pB_is_smaller_than__u_in__pB
mov edx, eax
mov dword [rsp + 0x20], r11d
call fcn.00438be0
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x496d61
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x496d61
mov r10d, dword [rsp + 0xa0]
mov r8, qword [r12 + 0x50]
test r10d, r10d
jne 0x49862f
test r8, r8
jne 0x496d61
mov qword [r12 + 0x50], rdx
movzx eax, byte [r12 + 0x18]
cmp al, 5
je 0x4973a8
movzx ebp, byte [rbx + 0x14]
and ebp, 0xf
je 0x496de5
mov r8d, dword [rsp + 0xb0]
movzx edx, byte [r12 + 0x58]
test r8d, r8d
jne 0x497b51
test byte [rsp + 0xa0], 1
je 0x497b51
cmp bpl, 0xa
movzx r9d, bpl
jne 0x496dbf
mov eax, dword [r15 + 0x40]
shr eax, 5
and eax, 0x40
cmp eax, 1
sbb r9d, r9d
and r9d, 8
add r9d, 2
movzx r8d, dl
cmp r8d, r9d
je 0x496de5
test dl, dl
mov ebp, r9d
je 0x496de0
mov r13d, dword [rsp + 0x1c0]
test r13d, r13d
je 0x498ba0
mov byte [r12 + 0x58], bpl
mov ebp, dword [rsp + 0xa0]
mov r8, rbx
mov rdx, r12
mov eax, dword [rsp + 0x80]
mov rcx, qword [r15 + 8]
mov r9, qword [rsp + 0x1f0]
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x28], eax
call fcn.00490e00
test ebp, ebp
je 0x497951
mov rax, qword [rsp + 0x1f0]
test byte [rax + 0x21], 0x20
je 0x497a9d
mov rax, qword [rsp + 0x2a8]
movzx eax, byte [rax]
mov byte [rsp + 0x98], al
and eax, 3
cmp al, 2
je 0x497a9d
movzx eax, byte [rbx + 0x16]
movzx edx, byte [r12 + 0x5d]
mov byte [r12 + 0x5a], al
mov eax, dword [rsp + 0x1b8]
and edx, 0xfffffffb
shr eax, 0x17
and eax, 1
shl eax, 2
or eax, edx
mov byte [r12 + 0x5d], al
mov eax, dword [rsp + 0x80]
cmp eax, 1
mov esi, eax
je 0x49795c
mov rcx, qword [rsp + 0x1f8]
mov edx, 0x40
call sub.msvcrt.dll_strchr
test rax, rax
je 0x496ed0
cmp byte [rax + 1], 0x40
je 0x496ed0
cmp qword [rsp + 0x100], 0
je 0x498b67
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x100]
mov qword [rcx + rax*8], r12
add rax, 1
mov qword [rsp + 0x128], rax
test esi, esi
mov eax, dword [r12 + 0x3c]
je 0x49795c
cmp eax, 0xffffffff
je 0x4986d3
movzx eax, byte [r12 + 0x59]
and eax, 3
sub eax, 1
cmp eax, 1
jbe 0x497c30
mov r8d, dword [rsp + 0x130]
test r8d, r8d
jne 0x4968d4
mov ecx, dword [rsp + 0x1d0]
test ecx, ecx
je 0x4968d4
test byte [rsp + 0xa0], 1
je 0x4968d4
test esi, esi
je 0x497c7d
test byte [r12 + 0x5b], 0x10
je 0x497c7d
mov rbp, qword [rsp + 0x200]
test rbp, rbp
je 0x499140
test byte [rbp + 0x42], 0x20
jne 0x497c7d
mov r9, qword [r12 + 8]
mov r8, rbp
mov rax, qword [r15 + 0xf0]
lea rcx, [0x005569da]
mov rsi, qword [rax + 0x308]
mov rax, qword [rsp + 0x2a8]
mov rdx, rsi
mov rax, qword [rax + 0x20]
call qword [rax + 0x68]
mov rax, qword [r15 + 0xf0]
movzx edx, word [rax + 0xc84]
shr dx, 6
and edx, 0xf
cmp dl, 7
ja 0x499277
and word [rax + 0xc84], 0xffbf
mov r9d, 1
mov r8, rsi
mov rcx, r15
mov rdx, qword [rsp + 0x2a8]
call fcn.004952c0
test eax, eax
js 0x49719c
jne 0x498ef2
mov dword [rsp + 0x130], 1
jmp 0x4968d4
test byte [r15 + 0x42], 0x20
jne 0x497161
movzx eax, byte [rbx + 0x14]
and eax, 0xf
cmp al, 6
jne 0x496556
mov rax, qword [rsp + 0x2a8]
movzx eax, byte [rax]
mov byte [rsp + 0xa0], al
and eax, 3
cmp al, 2
je 0x496556
lea r12, str..tcommon
mov rcx, r15
mov rdx, r12
call fcn.00445580
test rax, rax
mov rbp, rax
je 0x498889
mov qword [rsp + 0x1f0], rbp
jmp 0x4965d1
movzx eax, word [rbp + 0x24]
and ax, 0x380
cmp ax, 0x200
jne 0x4965e0
jmp 0x4968d4
cmp sil, 0xa
mov edx, dword [rbx + 0x18]
jne 0x497084
mov dword [rsp + 0x1b8], 0x800000
test edx, edx
jne 0x4969a0
jmp 0x4964fa
mov rax, qword [rsp + 0x2a8]
cmp byte [rax + 4], 0
js 0x497438
mov dword [rsp + 0xb0], 0
xor r11d, r11d
mov word [rsp + 0x218], r11w
mov r13, qword [rsp + 0x1f8]
jmp 0x4967d3
cmp byte [r12 + 0x18], 5
jne 0x496ba0
mov rcx, qword [rbx]
call fcn.0043e560
mov edx, dword [rsp + 0x1cc]
mov rcx, qword [r12 + 0x28]
cmp eax, edx
cmovb eax, edx
mov dword [rcx], eax
jmp 0x496ba0
mov edx, dword [rbx + 0x18]
mov dword [rsp + 0x1b8], pe_nt_image_headers64
jmp 0x497084
test r13w, 0x7ffe
mov rdx, qword [rsp + 0x1f0]
je 0x4970c1
mov rax, qword [rsp + 0x98]
add rax, 0x230
cmp rdx, rax
jne 0x4966c4
movzx ecx, byte [rbx + 0x14]
mov rax, qword [rsp + 0x90]
and ecx, 0xf
call qword [rax + 0x2c8]
test eax, eax
jne 0x4966c4
jmp 0x4970c1
lea r12, [0x005567f9]
mov rcx, r15
mov rdx, r12
call fcn.00445580
mov r8d, 0x209001
test rax, rax
mov rbp, rax
jne 0x49703d
mov rdx, r12
mov rcx, r15
call fcn.00445a20
test rax, rax
mov rbp, rax
jne 0x49703d
mov rbp, qword [rsp + 0x108]
mov r13, qword [rsp + 0x110]
cmp qword [rsp + 0x118], 0
je 0x4971c4
mov rcx, qword [rsp + 0x118]
call sub.msvcrt.dll_free
test r13, r13
je 0x4971d1
mov rcx, r13
call sub.msvcrt.dll_free
cmp qword [rsp + 0x100], 0
je 0x4971e9
mov rcx, qword [rsp + 0x100]
call sub.msvcrt.dll_free
test rbp, rbp
je 0x4971f6
mov rcx, rbp
call sub.msvcrt.dll_free
cmp qword [rsp + 0xe8], 0
je 0x495767
mov rcx, qword [rsp + 0xe8]
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x495769
mov rax, qword [0x005683a0]
mov dword [rsp + 0xc8], 0
mov qword [rsp + 0x98], rax
add rax, 0x230
mov qword [rsp + 0x1f0], rax
jmp 0x496524
mov rcx, r15
call fcn.0047ff50
test rax, rax
mov qword [rsp + 0x1f0], rax
je 0x497ae4
mov rcx, qword [0x005683a0]
lea rdx, [rcx + 0x230]
mov qword [rsp + 0x98], rcx
cmp rax, rdx
je 0x49728b
cmp qword [rax + 0x68], rdx
je 0x498074
mov edx, dword [r15 + 0x40]
shr edx, 5
and edx, 0x42
je 0x4969d5
mov rax, qword [rax + 0x28]
sub qword [rsp + 0x1e8], rax
jmp 0x4969d5
lea rax, [0x005567ad]
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xe0], rax
jmp 0x49672c
mov esi, 1
jmp 0x497084
xor esi, esi
mov r9d, dword [rsp + 0xa0]
test r9d, r9d
je 0x496c3f
mov rax, qword [rsp + 0x1f0]
mov dword [rsp + 0xe0], r11d
movzx r8d, byte [r12 + 0x5c]
mov rbp, qword [rsp + 0x1f8]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x1e8]
test r8b, 2
mov byte [rsp + 0xd0], r8b
mov qword [rsp + 0x208], rax
jne 0x497377
mov edx, 0x40
mov rcx, rbp
call sub.msvcrt.dll_strchr
mov r11d, dword [rsp + 0xe0]
movzx r8d, byte [rsp + 0xd0]
mov r13, rax
test r8b, 6
jne 0x498128
test r13, r13
mov eax, r8d
je 0x498e26
cmp byte [r13 + 1], 0x40
je 0x498894
or eax, 6
mov byte [r12 + 0x5c], al
mov ebp, dword [rsp + 0x1cc]
mov eax, dword [rsp + 0xa8]
or eax, ebp
je 0x496d2f
movzx eax, byte [r12 + 0x18]
cmp al, 5
jne 0x496c74
mov rdx, qword [rbx + 8]
test rdx, rdx
jne 0x496d38
mov rax, qword [r12 + 0x30]
mov qword [r12 + 0x50], rax
mov eax, 5
jmp 0x496d6f
mov rdx, qword [rcx + 0x348]
test rdx, rdx
je 0x4974bd
mov rax, qword [rdx + 0x20]
test rax, rax
jne 0x4973ed
jmp 0x4974b0
mov rax, qword [rax + 0x18]
test rax, rax
je 0x4974b0
cmp r12w, word [rax + 6]
jne 0x4973e0
mov rax, qword [rax + 0x10]
mov rcx, qword [rsp + 0x1f8]
test rax, rax
mov qword [rsp + 0xe0], rax
je 0x499244
call sub.msvcrt.dll_strlen
mov rcx, qword [rsp + 0xe0]
mov r12, rax
call sub.msvcrt.dll_strlen
mov qword [rsp + 0xd0], rax
lea rdx, [r12 + rax + 2]
jmp 0x49675a
mov rax, qword [r15 + 0xf0]
mov eax, dword [rax + 0x338]
mov r13d, eax
mov word [rsp + 0x218], ax
jmp 0x4966a2
movzx ecx, byte [rbx + 0x14]
mov rax, qword [rsp + 0x90]
and ecx, 0xf
call qword [rax + 0x2c8]
test eax, eax
jne 0x496b6d
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0x40], 1
jne 0x496b6d
cmp qword [r12 + 0x68], 0
jne 0x496b6d
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x138], r12
mov qword [r12 + 0x68], rax
jmp 0x496b6d
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x4973cc
mov rbp, qword [rsp + 0x108]
mov r13, qword [rsp + 0x110]
mov r9d, dword [rsp + 0xb0]
mov rcx, qword [rsp + 0x1f8]
mov r8, rcx
mov rdx, r15
lea rcx, str._pB:__s:_invalid_needed_version__d
call fcn.00438be0
mov ecx, 0x11
call fcn.00438da0
jmp 0x4971ac
xor r13d, r13d
pxor xmm6, xmm6
mov qword [rsp + 0x120], 0
pxor xmm7, xmm7
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x140], 0
jmp 0x49640e
cmp sil, 0xa
jne 0x497551
mov dword [rsp + 0x1b8], 0x800000
mov dword [rsp + 0xa8], 0
jmp 0x4964fa
mov r9, qword [rsp + 0xf8]
mov rcx, r15
mov qword [rsp + 0x30], 0
mov r8, qword [rsp + 0xd8]
mov qword [rsp + 0x28], 0
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0x20], 0
call fcn.0047d560
test rax, rax
mov qword [rsp + 0xe8], rax
je 0x495767
test rsi, rsi
jne 0x4961a3
mov rax, qword [rsp + 0xd8]
mov rcx, r15
lea rdx, [rax*8]
call fcn.00443980
test rax, rax
mov rsi, rax
je 0x497205
mov rax, qword [r15 + 0xf0]
mov qword [rax + 0x2f8], rsi
jmp 0x4961a3
movzx eax, byte [rsi + 0x14]
mov rcx, rbx
mov r8, r14
mov r12, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
mov edx, eax
mov r14, qword [rsp + 0xa8]
shr dl, 4
cmp dl, 1
je 0x49762a
cmp dl, 9
jbe 0x495fb3
mov rdx, qword [rcx + 8]
mov ecx, eax
mov qword [rsp + 0xa8], r8
and ecx, 0xf
mov rdx, qword [rdx + 0x368]
mov qword [rsp + 0xa0], rdx
call qword [rdx + 0x2c8]
mov rdx, qword [rsp + 0xa0]
test eax, eax
mov r8, qword [rsp + 0xa8]
jne 0x495fb3
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x495fb3
mov qword [rsp + 0xa0], r8
mov rcx, rsi
call qword [rdx + 0x2a0]
mov r8, qword [rsp + 0xa0]
test eax, eax
jne 0x495fb3
mov eax, dword [rsi + 0x18]
mov rcx, r8
add eax, 0x100
cmp eax, 0xf0
jbe 0x495fb6
call sub.msvcrt.dll_free
jmp 0x495d46
mov r8, qword [rsp + 0x228]
mov edx, 0x18
mov rcx, r15
mov qword [rsp + 0x90], r8
call fcn.00443400
mov r8, qword [rsp + 0x90]
mov edx, r12d
mov rcx, r15
mov rsi, rax
call fcn.0047d540
test rsi, rsi
je 0x497b3d
test rax, rax
je 0x497b3d
mov rcx, rax
mov qword [rsp + 0x98], rax
call sub.msvcrt.dll_strlen
mov rcx, r15
lea r8, [rax + 1]
mov rdx, r8
mov qword [rsp + 0x90], r8
call fcn.00443400
test rax, rax
mov rcx, rax
je 0x497b3d
mov r8, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
call sub.msvcrt.dll_memcpy
mov qword [rsi + 8], r15
mov qword [rsi + 0x10], rax
mov rax, qword [rsp + 0x210]
mov qword [rsi], 0
test rax, rax
je 0x498b39
nop dword [rax]
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x497768
mov rax, qword [rsp + 0x220]
mov qword [rdx], rsi
jmp 0x495aac
mov r8, qword [rsp + 0x228]
mov edx, 0x18
mov rcx, r15
mov qword [rsp + 0x90], r8
call fcn.00443400
mov r8, qword [rsp + 0x90]
mov edx, r12d
mov rcx, r15
mov rsi, rax
call fcn.0047d540
test rsi, rsi
je 0x497b3d
test rax, rax
je 0x497b3d
mov rcx, rax
mov qword [rsp + 0x98], rax
call sub.msvcrt.dll_strlen
mov rcx, r15
lea r8, [rax + 1]
mov rdx, r8
mov qword [rsp + 0x90], r8
call fcn.00443400
test rax, rax
mov rcx, rax
je 0x497b3d
mov r8, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
call sub.msvcrt.dll_memcpy
mov qword [rsi], 0
mov qword [rsi + 0x10], rax
mov rax, qword [rsp + 0x88]
mov qword [rsi + 8], r15
mov rax, qword [rax + 0xb8]
test rax, rax
je 0x498b25
nop word [rax + rax]
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x497840
mov rax, qword [rsp + 0x220]
mov qword [rdx], rsi
jmp 0x495aa2
mov rax, qword [rsp + 0x2a8]
mov rcx, r15
movzx eax, byte [rax + 4]
mov edx, eax
mov byte [rsp + 0x90], al
shr dl, 7
movzx edx, dl
call fcn.00487bd0
test eax, eax
je 0x4971f6
mov rbx, qword [r15 + 0xf0]
xor ebp, ebp
mov r13d, dword [rbx + 0xc78]
test r13d, r13d
je 0x4961bb
mov rcx, qword [rbx + 0x210]
call fcn.0043dda0
test rax, rax
mov rbp, rax
je 0x4971f6
mov rdx, qword [rbx + 0x208]
xor r8d, r8d
mov rcx, r15
mov rdi, qword [rbx + 0x210]
call fcn.0043ad70
test eax, eax
jne 0x4971ee
mov r8, r15
mov rdx, rdi
mov rcx, rbp
call fcn.0043aad0
cmp rdi, rax
jne 0x4971ee
mov rbx, qword [r15 + 0xf0]
jmp 0x4961bb
mov eax, dword [rbp + 0x70]
jmp 0x4970e4
mov dword [rsp + 0x80], 1
jmp 0x495fcb
movzx ecx, byte [rbx + 0x14]
and ecx, 0xf
cmp cl, 0xa
jne 0x497932
mov rcx, qword [rax + 0xf0]
or byte [rcx + 0xc85], 0xc
test edx, 0x800000
je 0x496b06
mov rax, qword [rax + 0xf0]
or byte [rax + 0xc85], 0x14
jmp 0x496b06
test byte [r15 + 0x42], 0x20
je 0x496ed0
xor esi, esi
cmp dword [r12 + 0x3c], 0xffffffff
je 0x496efb
jmp 0x496ee6
mov dword [rsp + 0x1b8], pe_nt_image_headers64
jmp 0x497551
mov rcx, qword [r15 + 0xf0]
mov dword [rsp + 0x130], 1
mov dword [rsp + 0x134], 1
jmp 0x496125
mov rcx, rbx
call sub.msvcrt.dll_free
mov qword [rsp + 0x80], 0
xor ebp, ebp
mov rax, qword [r15 + 0xf0]
mov rcx, qword [rax + 0x58]
mov eax, dword [rax + 0x3c]
imul rax, rax, 0x38
add rax, rcx
jmp 0x4979dc
cmp dword [rax], 0x6474e552
je 0x497d10
sub rax, 0x38
lea rdx, [rax + 0x38]
cmp rcx, rdx
jb 0x4979d0
mov rcx, r15
call fcn.00445540
test rbp, rbp
je 0x497b06
cmp byte [rbp], 0
je 0x497b06
mov rax, qword [r15 + 0xf0]
mov rdx, qword [rsp + 0x2a8]
xor edi, edi
mov r8, rbp
mov rcx, r15
and r13d, 0xb
mov qword [rax + 0x308], rbp
sete dil
mov r9d, edi
mov dword [rsp + 0x130], edi
call fcn.004952c0
test eax, eax
mov dword [rsp + 0x134], eax
js 0x495767
jne 0x4957ac
mov rcx, qword [r15 + 0xf0]
mov rax, qword [rsp + 0x80]
mov qword [rcx + 0x310], rax
mov eax, dword [rcx + 0xc74]
test eax, eax
jne 0x497a7e
mov dword [rsp + 0x80], 1
jmp 0x496125
lea rax, [rcx + 0x150]
mov dword [rsp + 0x80], 1
mov qword [rsp + 0xb8], rax
jmp 0x496131
test byte [r15 + 0x42], 0x20
jne 0x496e49
movzx eax, byte [rbx + 0x16]
movzx edx, byte [r12 + 0x5d]
mov byte [r12 + 0x5a], al
mov eax, dword [rsp + 0x1b8]
and edx, 0xfffffffb
shr eax, 0x17
and eax, 1
shl eax, 2
or eax, edx
mov byte [r12 + 0x5d], al
cmp dword [rsp + 0x80], 1
jne 0x496e84
jmp 0x496ed0
mov rax, qword [0x005683a0]
mov qword [rsp + 0x98], rax
add rax, 0x230
mov qword [rsp + 0x1f0], rax
jmp 0x4969d5
mov rax, qword [r15 + 0xf0]
mov rbp, qword [rax + 0x308]
test rbp, rbp
je 0x497b23
cmp byte [rbp], 0
jne 0x497a0b
mov rbp, qword [r15]
jmp 0x497a0b
mov rcx, qword [rsp + 0x118]
call sub.msvcrt.dll_free
jmp 0x4971e9
mov rcx, qword [rsp + 0x218]
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x495769
mov ecx, dword [rsp + 0x1c4]
test ecx, ecx
je 0x497b64
cmp al, 5
je 0x496d9d
test dl, dl
jne 0x496de5
cmp bpl, 0xa
jne 0x496de0
test byte [r15 + 0x41], 8
mov eax, 2
cmovne ebp, eax
jmp 0x496de0
mov r10d, dword [rsp + 0xa0]
test r10d, r10d
jne 0x497bd2
or byte [r12 + 0x5b], 4
movzx eax, byte [r13 + 0x5b]
or eax, 4
cmp r13, r12
mov byte [r13 + 0x5b], al
je 0x4987e5
test byte [r13 + 0x5c], 8
jne 0x497bcb
test byte [r12 + 0x5b], 3
jne 0x4987ed
test byte [r12 + 0x5d], 0x20
jne 0x497c10
xor esi, esi
jmp 0x496c3f
or byte [r12 + 0x5b], 8
movzx eax, byte [r13 + 0x5b]
or eax, 8
cmp r13, r12
mov byte [r13 + 0x5b], al
je 0x4987d3
test byte [r13 + 0x5c], 8
jne 0x4985c0
test byte [r12 + 0x5b], 3
jne 0x4987db
test byte [r12 + 0x5d], 0x20
je 0x4985c0
mov rax, r12
mov rax, qword [rax + 0x68]
test byte [rax + 0x5d], 0x20
jne 0x497c13
xor esi, esi
cmp dword [rax + 0x3c], 0xffffffff
setne sil
jmp 0x4972d8
mov rax, qword [rsp + 0x90]
mov r8d, 1
mov rdx, r12
mov rcx, qword [rsp + 0x2a8]
call qword [rax + 0x1b8]
mov esi, dword [rsp + 0x130]
test esi, esi
jne 0x4968d4
mov r11d, dword [rsp + 0x1d0]
test r11d, r11d
je 0x4968d4
test byte [rsp + 0xa0], 1
je 0x4968d4
test byte [r12 + 0x5d], 1
je 0x498879
mov rax, qword [r15 + 0xf0]
mov dword [rsp + 0x130], 0
test byte [rax + 0xc84], 0x40
je 0x4968d4
mov rsi, qword [rax + 0x308]
xor r8d, r8d
mov rax, qword [rsp + 0x88]
mov rcx, rsi
mov rdx, qword [rax + 0xb8]
call fcn.0048d480
test eax, eax
jne 0x4968d4
mov r9, qword [r12 + 8]
lea rcx, [0x005569da]
mov rdx, rsi
mov rax, qword [rsp + 0x2a8]
mov rbp, qword [rsp + 0x200]
mov rax, qword [rax + 0x20]
mov r8, rbp
call qword [rax + 0x68]
test rbp, rbp
jne 0x496f87
mov rax, qword [r15 + 0xf0]
jmp 0x496fa5
mov rdx, qword [r15 + 0x88]
test rdx, rdx
je 0x4979e9
mov ecx, dword [rdx + 0x20]
test cl, 1
je 0x497d50
mov r8, qword [rdx + 0x28]
mov r9, qword [rax + 0x10]
cmp r8, r9
jb 0x497d50
add r8, qword [rdx + 0x38]
add r9, qword [rax + 0x28]
cmp r9, r8
jb 0x497d50
or ecx, 8
mov dword [rdx + 0x20], ecx
nop dword [rax + rax]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x497d20
jmp 0x4979e9
mov r14, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x108]
mov r13, qword [rsp + 0x110]
mov rax, qword [rsp + 0x2a8]
test byte [rax + 1], 2
je 0x497ef0
mov rax, qword [rsp + 0x2a8]
movzx eax, byte [rax]
mov byte [rsp + 0x90], al
and eax, 3
cmp al, 2
je 0x497ef0
test byte [r15 + 0x42], 0x20
jne 0x497ef0
test byte [rsp + 0x134], 1
jne 0x497ef0
cmp qword [rsp + 0xd8], 0
je 0x497ef0
mov rax, qword [r14 + 0x300]
mov edx, 0x20
mov r12, qword [r15 + 0x88]
cmp byte [rax + 0xa], 0x20
mov eax, 8
cmovne eax, edx
test r12, r12
mov esi, eax
mov rax, qword [r15 + 0xf0]
mov rbx, qword [rax + 0x2f8]
je 0x497ef0
mov rdi, qword [rsp + 0xf8]
jmp 0x497e1e
mov r12, qword [r12 + 0x10]
test r12, r12
je 0x497ef0
mov eax, dword [r12 + 0x20]
test al, 4
je 0x497e10
mov edx, dword [r12 + 0x88]
test edx, edx
je 0x497e10
test ah, 0x80
jne 0x497e10
mov rcx, qword [rsp + 0x2a8]
test byte [rcx + 1], 0x20
je 0x497e4b
test ah, 0x20
jne 0x497e10
mov rax, qword [rsp + 0x2a8]
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
mov rcx, r15
movzx eax, byte [rax + 3]
mov byte [rsp + 0x90], al
shr al, 2
and eax, 1
mov dword [rsp + 0x20], eax
call fcn.004948a0
test rax, rax
mov r9, rax
je 0x4971ac
mov r8d, dword [r12 + 0x88]
mov rdx, rax
mov ecx, esi
imul r8, r8, 0x18
add r8, rax
cmp rax, r8
jae 0x497ec7
mov rax, qword [rdx + 8]
shr rax, cl
mov eax, eax
cmp rax, rdi
jb 0x497ebc
sub rax, rdi
mov rax, qword [rbx + rax*8]
test rax, rax
je 0x497ebc
or byte [rax + 0x19], 1
add rdx, 0x18
cmp rdx, r8
jb 0x497e9e
mov esi, ecx
mov rax, qword [r12 + 0xe0]
cmp r9, qword [rax + 0x98]
je 0x497e10
mov rcx, r9
call sub.msvcrt.dll_free
jmp 0x497e10
test rbp, rbp
je 0x497efd
mov rcx, rbp
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0xe8]
test rax, rax
je 0x497f12
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [r15 + 0xf0]
test byte [rax + 0xc84], 0x40
jne 0x498968
mov rdi, qword [rsp + 0x118]
test rdi, rdi
je 0x497f5b
mov rdx, qword [rsp + 0x2a8]
mov r8d, 2
mov rcx, r15
call qword [r14 + 0xf8]
test eax, eax
je 0x498b54
mov rcx, rdi
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x2a8]
movzx eax, byte [rax]
mov byte [rsp + 0x90], al
and eax, 3
cmp al, 2
je 0x498746
cmp qword [rsp + 0x100], 0
je 0x498746
xor r12d, r12d
cmp qword [rsp + 0x128], 0
jne 0x497fb5
jmp 0x498739
mov rax, qword [rsp + 0x128]
add r12, 1
cmp r12, rax
je 0x498739
mov rax, qword [rsp + 0x100]
mov edx, 0x40
mov rdi, qword [rax + r12*8]
mov rsi, qword [rdi + 8]
mov rcx, rsi
call sub.msvcrt.dll_strchr
test rax, rax
je 0x497fa0
movzx ecx, byte [rdi + 0x18]
lea edx, [rcx - 3]
cmp dl, 1
ja 0x497fa0
sub rax, rsi
lea rcx, [rax + 1]
mov rbx, rax
call fcn.0043dda0
test rax, rax
mov rbp, rax
je 0x498f08
mov rdx, qword [rdi + 8]
mov r8, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov byte [rbp + rbx], 0
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rsp + 0x88]
mov dword [rsp + 0x20], 0
mov rdx, rbp
call fcn.0043eb80
test rax, rax
mov rbx, rax
je 0x498045
movzx eax, byte [rdi + 0x18]
cmp byte [rbx + 0x18], al
je 0x498bbe
mov rcx, rbp
call sub.msvcrt.dll_free
jmp 0x497fa0
mov rcx, qword [rbx]
mov qword [rsp + 0x98], rdx
call fcn.0043e560
mov r9, qword [rsp + 0x98]
mov rdx, r15
mov ebp, eax
jmp 0x496cef
movzx edx, word [rax + 0x24]
and dx, 0x380
sub dx, 0x100
test dx, 0xfe80
je 0x49728b
mov dword [rsp + 0xc8], 1
mov rax, rcx
add rax, 0x118
mov qword [rsp + 0x1f0], rax
mov dword [rbx + 0x18], 0
jmp 0x496524
mov rax, qword [rsp + 0x2a8]
mov rdi, qword [r15 + 8]
mov rax, qword [rax + 0x50]
cmp qword [rax + 8], rdi
jne 0x4960fd
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x4c]
test eax, eax
mov dword [rsp + 0x134], eax
jne 0x4960fd
mov rdx, qword [rsp + 0x2a8]
mov rcx, r15
call fcn.004920b0
test eax, eax
je 0x495767
xor eax, eax
mov rcx, qword [r15 + 0xf0]
mov dword [rsp + 0x130], 1
mov dword [rsp + 0x80], eax
jmp 0x496125
test rax, rax
je 0x497377
mov rax, qword [r15 + 8]
mov dword [rsp + 0x15c], r11d
mov rcx, qword [rsp + 0x2a8]
mov rax, qword [rax + 0x368]
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0xe0], rax
movzx eax, byte [rax + 0x38c]
and eax, 1
mov byte [rsp + 0x158], al
mov rax, r13
sub rax, rbp
lea edx, [rax + 1]
mov qword [rsp + 0xd0], rax
call fcn.0043d6a0
test rax, rax
mov rcx, rax
je 0x49719c
mov r8, qword [rsp + 0xd0]
mov rdx, rbp
mov qword [rsp + 0x150], rax
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x150]
mov r9, rbx
mov dword [rsp + 0x1d4], 0
mov rdx, qword [rsp + 0xc8]
mov dword [rsp + 0x1d8], 0
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x1e4], 1
mov r8, rcx
mov byte [rcx + rax], 0
mov rcx, r15
mov qword [rsp + 0x220], rdx
lea rdx, [rsp + 0x1e4]
mov qword [rsp + 0x188], rdx
mov qword [rsp + 0x70], rdx
lea rdx, [rsp + 0x1d8]
mov qword [rsp + 0x170], rdx
mov qword [rsp + 0x68], rdx
lea rdx, [rsp + 0x1d4]
mov qword [rsp + 0x168], rdx
mov qword [rsp + 0x60], rdx
lea rdx, [rsp + 0x1e0]
mov qword [rsp + 0x180], rdx
mov qword [rsp + 0x58], rdx
lea rdx, [rsp + 0x1dc]
mov qword [rsp + 0x178], rdx
mov qword [rsp + 0x50], rdx
lea rdx, [rsp + 0x200]
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x38], rdx
lea rdx, [rsp + 0x210]
mov qword [rsp + 0x1a0], rdx
mov qword [rsp + 0x30], rdx
lea rdx, [rsp + 0x208]
mov qword [rsp + 0x198], rdx
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 0x220]
mov qword [rsp + 0x1a8], rdx
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x2a8]
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
call fcn.00492ea0
test eax, eax
je 0x49719c
mov r11d, dword [rsp + 0x15c]
mov ecx, dword [rsp + 0x1dc]
movzx eax, byte [rsp + 0x158]
and r11d, 0x40
test ecx, ecx
mov dword [rsp + 0x15c], r11d
mov dword [rsp + 0x158], eax
jne 0x498430
mov r9, qword [rsp + 0x210]
test byte [r9 + 0x5b], 2
je 0x498353
mov rax, qword [r9 + 0x70]
test rax, rax
je 0x499029
mov rdx, qword [rax + 8]
xor eax, eax
mov qword [rsp + 0x160], r9
cmp byte [r13 + 1], 0x40
sete al
lea rcx, [r13 + rax + 1]
call sub.msvcrt.dll_strcmp
mov r9, qword [rsp + 0x160]
test eax, eax
jne 0x498430
mov edx, dword [rsp + 0x1e0]
movzx eax, byte [r9 + 0x18]
test edx, edx
jne 0x498e87
mov rcx, qword [rsp + 0x2a8]
movzx ecx, byte [rcx]
mov edx, ecx
mov byte [rsp + 0x160], cl
and edx, 3
cmp dl, 2
je 0x49840a
cmp al, 3
mov qword [rsp + 0x218], r9
je 0x499221
lea rax, [rsp + 0x218]
mov r8, qword [rsp + 0x150]
mov qword [rsp + 0x30], rbp
mov r9d, 0x2000
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x158]
mov rdx, r15
mov rcx, qword [rsp + 0x2a8]
mov dword [rsp + 0x40], eax
xor eax, eax
mov dword [rsp + 0x38], eax
xor eax, eax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x98]
add rax, 0x348
mov qword [rsp + 0x20], rax
call fcn.0043fb90
test eax, eax
je 0x49719c
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x210], rax
mov r8, qword [rsp + 0x210]
cmp byte [r8 + 0x18], 7
jne 0x498425
mov r8, qword [r8 + 0x28]
mov qword [rsp + 0x210], r8
cmp byte [r8 + 0x18], 6
je 0x4990a1
mov rcx, rbp
call sub.msvcrt.dll_strlen
mov rcx, qword [rsp + 0x2a8]
mov edx, eax
mov qword [rsp + 0x160], rax
mov rcx, qword [rcx + 0x28]
call fcn.0043d6a0
test rax, rax
je 0x49719c
mov r8, qword [rsp + 0xd0]
mov rdx, rbp
mov rcx, rax
mov qword [rsp + 0x150], rax
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0xd0]
lea rdx, [r13 + 1]
mov rax, qword [rsp + 0x150]
mov r8, qword [rsp + 0x160]
lea rcx, [rax + r10]
sub r8, r10
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0xc8]
mov r9, rbx
mov qword [rsp + 0x48], 0
mov r13, qword [rsp + 0x150]
mov qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0x2a8]
mov dword [rsp + 0x1d4], 0
mov dword [rsp + 0x1d8], 0
mov qword [rsp + 0x220], rcx
mov rcx, qword [rsp + 0x188]
mov r8, r13
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x170]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0x180]
mov qword [rsp + 0x58], rcx
mov rcx, qword [rsp + 0x178]
mov qword [rsp + 0x50], rcx
mov rcx, qword [rsp + 0x190]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x1a0]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x198]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x1a8]
mov qword [rsp + 0x20], rcx
mov rcx, r15
call fcn.00492ea0
test eax, eax
je 0x49719c
mov eax, dword [rsp + 0x1dc]
test eax, eax
jne 0x497377
cmp dword [rsp + 0x1e0], 0
mov rax, qword [rsp + 0x210]
je 0x498f24
movzx eax, byte [rax + 0x18]
sub eax, 3
cmp al, 1
jbe 0x497377
lea rcx, str._pB:_unexpected_redefinition_of_indirect_versioned_symbol___s
mov r8, r13
mov rdx, r15
call fcn.00438be0
jmp 0x497377
xor esi, esi
jmp 0x4972e9
mov ecx, 0x11
mov rbp, qword [rsp + 0x108]
mov r13, qword [rsp + 0x110]
call fcn.00438da0
jmp 0x4971ac
or eax, 2
test al, 8
mov byte [r12 + 0x5b], al
je 0x4985fd
and eax, 0xfffffff3
or eax, 4
mov byte [r12 + 0x5b], al
cmp r13, r12
je 0x498609
test byte [r13 + 0x5c], 8
jne 0x4985c0
mov rax, qword [rsp + 0x2a8]
movzx eax, byte [rax]
not eax
test al, 3
je 0x4987db
xor esi, esi
test byte [r12 + 0x5b], 0xc
setne sil
jmp 0x4972e9
test r8, r8
je 0x496d5c
cmp rdx, r8
je 0x496d5c
mov r9d, dword [rsp + 0x1bc]
test r9d, r9d
jne 0x496d5c
mov qword [rsp + 0x20], rdx
mov r9, qword [rsp + 0x200]
lea rcx, str.warning:_size_of_symbol___s_changed_from__llu_in__pB_to__llu_in__pB
mov rdx, qword [rsp + 0x1f8]
mov qword [rsp + 0x28], r15
call fcn.00438be0
mov rdx, qword [rbx + 8]
jmp 0x496d5c
movzx r13d, byte [rsp + 0xa0]
call sub.msvcrt.dll_free
test rsi, rsi
je 0x499261
mov qword [rsp + 0x208], rsi
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x158]
test rax, rax
je 0x498dc0
nop dword [rax + rax]
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x4986c0
mov qword [rdx], rsi
jmp 0x4979b7
mov rcx, qword [rsp + 0x2a8]
mov rdx, r12
call fcn.00492550
test eax, eax
je 0x49719c
test byte [r12 + 0x5d], 0x20
jne 0x498dd4
mov r10d, dword [rsp + 0x130]
test r10d, r10d
je 0x49885e
mov dword [rsp + 0x130], esi
jmp 0x4968d4
mov rcx, qword [r12 + 0x28]
mov r9, rdx
mov dword [rsp + 0x20], eax
mov edx, r11d
mov qword [rsp + 0x28], rcx
lea rcx, str.warning:_alignment__u_of_common_symbol___s_in__pB_is_greater_than_the_alignment___u__of_its_section__pA
call fcn.00438be0
jmp 0x496d2f
mov rcx, qword [rsp + 0x100]
call sub.msvcrt.dll_free
cmp qword [rsp + 0x138], 0
je 0x4988ac
mov rdi, qword [rsp + 0xd8]
shl rdi, 3
mov rcx, rdi
call fcn.0043dda0
test rax, rax
mov rsi, rax
je 0x495767
mov rax, qword [r15 + 0xf0]
mov rbp, qword [rax + 0x2f8]
add rdi, rbp
cmp rbp, rdi
jae 0x498c4b
mov r13, rsi
xor ebx, ebx
jmp 0x4987a3
add rbp, 8
cmp rbp, rdi
jae 0x498c4d
mov r12, qword [rbp]
test r12, r12
je 0x498796
cmp byte [r12 + 0x18], 3
jne 0x498796
movzx ecx, byte [r12 + 0x58]
call qword [r14 + 0x2c8]
test eax, eax
jne 0x498796
mov qword [r13], r12
add rbx, 1
add r13, 8
jmp 0x498796
test al, 3
je 0x497c04
mov esi, 1
jmp 0x4972e9
test al, 3
je 0x497bc3
mov esi, 1
jmp 0x496c3f
mov qword [rsp + 0x120], 0
xor ecx, ecx
jmp 0x496231
mov r9d, dword [rsp + 0xb0]
mov dword [rsp + 0x20], edx
lea rcx, str._pB:__s:_invalid_version__u__max__d_
mov rdx, r15
mov r8, qword [rsp + 0x1f8]
mov rbp, qword [rsp + 0x108]
mov r13, qword [rsp + 0x110]
call fcn.00438be0
mov ecx, 0x11
call fcn.00438da0
jmp 0x4971ac
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x496d6f
jmp 0x496d38
mov r9d, dword [rsp + 0x1d0]
test r9d, r9d
je 0x498879
test byte [rsp + 0xa0], 1
jne 0x496f31
mov dword [rsp + 0x130], 0
jmp 0x4968d4
mov r8d, 0x101401
jmp 0x497185
and eax, 0xfffffff9
or eax, 4
mov byte [r12 + 0x5c], al
jmp 0x498131
mov rcx, rsi
call sub.msvcrt.dll_free
mov rax, qword [r14 + 0xf0]
test rax, rax
je 0x4988cd
mov rdx, qword [rsp + 0x2a8]
mov rcx, r15
call rax
test eax, eax
je 0x495767
mov r11d, dword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
test r11d, r11d
mov eax, dword [rax + 0x40]
jne 0x498906
mov rdi, qword [rsp + 0x2a8]
test byte [rdi + 4], 0x20
jne 0x498906
sub eax, 1
jne 0x4957ac
test byte [rdi + 1], 0x20
je 0x4991a0
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0x40], 1
jne 0x4957ac
test byte [rsp + 0x130], 1
je 0x4957ac
mov edx, 0x10
mov rcx, r15
call fcn.00443400
test rax, rax
je 0x495767
mov rdi, qword [rsp + 0x88]
movq xmm1, r15
movq xmm0, qword [rdi + 0x170]
punpcklqdq xmm0, xmm1
movups xmmword [rax], xmm0
mov qword [rdi + 0x170], rax
jmp 0x4957ac
mov rcx, qword [rax + 0x2f8]
xor edx, edx
mov rax, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
lea r8, [rax*8]
call sub.msvcrt.dll_memset
mov rdi, qword [rsp + 0x88]
mov rdx, rsi
mov rcx, qword [rsp + 0x148]
lea rbp, [rsi + rbx]
mov r8, rbx
xor esi, esi
movq qword [rdi + 0x18], xmm7
mov qword [rdi], rcx
call sub.msvcrt.dll_memcpy
mov rcx, qword [rdi + 0x90]
mov rdx, r13
movups xmmword [rdi + 0x28], xmm6
call fcn.004a4630
mov rcx, r13
call sub.msvcrt.dll_free
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x498ad8
mov r12, rsi
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsi]
mov rdi, qword [rax + r12*8]
test rdi, rdi
je 0x498aca
mov qword [rsp + 0x80], r12
mov r12, rbp
jmp 0x498a2d
movzx eax, byte [rcx + 0x19]
and ebx, 1
add ebx, ebx
and eax, 0xfffffffd
or eax, ebx
mov byte [rcx + 0x19], al
mov rdi, qword [rdi]
test rdi, rdi
je 0x498abf
movzx ecx, byte [rdi + 0x18]
mov rax, rdi
cmp cl, 7
jne 0x498a41
mov rax, qword [rdi + 0x28]
movzx ecx, byte [rax + 0x18]
xor r13d, r13d
xor ebp, ebp
cmp cl, 5
jne 0x498a56
mov rcx, qword [rax + 0x28]
mov rbp, qword [rax + 0x30]
mov r13d, dword [rcx]
mov r8d, dword [rsi + 0x20]
mov rdx, r12
mov rcx, rdi
movzx ebx, byte [rax + 0x19]
call sub.msvcrt.dll_memcpy
mov r8d, dword [rsi + 0x20]
mov rcx, rdi
movzx eax, byte [rdi + 0x18]
shr bl, 1
and ebx, 1
add r12, r8
cmp al, 7
je 0x498aa3
cmp al, 5
jne 0x498a10
cmp qword [rcx + 0x30], rbp
jae 0x498a8e
mov qword [rcx + 0x30], rbp
mov rax, qword [rcx + 0x28]
cmp dword [rax], r13d
jae 0x498a10
mov dword [rax], r13d
jmp 0x498a10
mov rcx, qword [rdi + 0x28]
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov eax, dword [rsi + 0x20]
mov rcx, qword [rdi + 0x28]
add r12, rax
movzx eax, byte [rcx + 0x18]
jmp 0x498a80
mov rbp, r12
mov r12, qword [rsp + 0x80]
add r12, 1
cmp r12d, dword [rsi + 0x18]
jb 0x4989f0
mov rdx, qword [rsp + 0x2a8]
mov r8d, 1
mov rcx, r15
call qword [r14 + 0xf8]
test eax, eax
jne 0x498e36
mov rcx, qword [rsp + 0x118]
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x495767
mov rcx, rax
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x495769
mov rax, qword [rsp + 0x88]
lea rdx, [rax + 0xb8]
jmp 0x49784b
lea rdx, [rsp + 0x210]
jmp 0x497773
cmp r13, r12
jne 0x496c13
jmp 0x496c1e
mov qword [rsp + 0xe8], 0
xor ebp, ebp
jmp 0x4971b7
mov rax, qword [rsp + 0xc0]
sub rax, rbx
sar rax, 5
lea rcx, [rax*8 + 8]
call fcn.0043dda0
test rax, rax
mov qword [rsp + 0x100], rax
jne 0x496eb0
jmp 0x49719c
mov rdx, qword [rsp + 0x1f8]
mov qword [rsp + 0x20], r15
lea rcx, str.warning:_type_of_symbol___s_changed_from__d_to__d_in__pB
call fcn.00438be0
jmp 0x496de0
mov rax, qword [rdi + 0x30]
cmp qword [rbx + 0x30], rax
jne 0x498045
mov rax, qword [rdi + 0x28]
cmp qword [rbx + 0x28], rax
jne 0x498045
mov rcx, qword [rsp + 0x2a8]
mov r8d, 1
mov rdx, rbx
call qword [r14 + 0x1b8]
mov rdx, rdi
mov byte [rbx + 0x18], 6
mov rcx, qword [rsp + 0x2a8]
mov qword [rbx + 0x28], rdi
mov r8, rbx
call qword [r14 + 0x1b0]
mov rax, qword [r15 + 0xf0]
mov rdx, qword [rax + 0x2f8]
test rdx, rdx
je 0x498045
xor eax, eax
jmp 0x498c2e
add rax, 1
cmp qword [rsp + 0xd8], rax
je 0x498045
cmp rbx, qword [rdx + rax*8]
jne 0x498c2a
mov qword [rdx + rax*8], rdi
jmp 0x498045
xor ebx, ebx
lea r9, [0x0048cdb0]
mov r8d, 8
mov rdx, rbx
mov rcx, rsi
call sub.msvcrt.dll_qsort
mov rbp, qword [rsp + 0x138]
jmp 0x498c79
test rbp, rbp
je 0x4988a4
mov rdi, rbp
mov rbp, qword [rbp + 0x68]
movzx eax, byte [rdi + 0x18]
mov qword [rdi + 0x68], 0
sub eax, 3
cmp al, 1
ja 0x498c70
test rbx, rbx
mov r10, qword [rdi + 0x28]
mov r9, qword [rdi + 0x30]
je 0x498c70
mov rdx, rbx
xor ecx, ecx
jmp 0x498ccb
jne 0x498cc2
mov r8, qword [r8 + 0x28]
mov r11d, dword [r8 + 8]
cmp dword [r10 + 8], r11d
js 0x498cdc
je 0x498ce1
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x498c70
lea rax, [rcx + rdx]
shr rax, 1
mov r8, qword [rsi + rax*8]
cmp r9, qword [r8 + 0x30]
jns 0x498cb0
mov rdx, rax
jmp 0x498cc6
cmp rcx, rdx
jne 0x498d00
jmp 0x498c70
mov r11, qword [rsi + rax*8]
cmp r10, qword [r11 + 0x28]
jne 0x498d0c
cmp r9, qword [r11 + 0x30]
jne 0x498d0c
mov r8, rax
add rax, 1
cmp rax, rdx
jne 0x498cf0
sub rcx, 1
cmp r8, rcx
je 0x498c70
mov r12, qword [rsi + r8*8]
cmp r10, qword [r12 + 0x28]
jne 0x498c70
cmp r9, qword [r12 + 0x30]
jne 0x498c70
sub r8, 1
cmp r12, rdi
je 0x498d10
or byte [rdi + 0x5d], 0x20
mov qword [rdi + 0x68], r12
mov rdx, r12
cmp qword [r12 + 0x68], 0
jne 0x498e12
cmp dword [rdi + 0x3c], 0xffffffff
mov qword [rdx + 0x68], rdi
mov eax, dword [r12 + 0x3c]
je 0x498ee4
add eax, 1
jne 0x498c70
mov rcx, qword [rsp + 0x2a8]
mov rdx, r12
call fcn.00492550
test eax, eax
je 0x498db1
cmp dword [r12 + 0x3c], 0xffffffff
je 0x498c70
cmp dword [rdi + 0x3c], 0xffffffff
jne 0x498c70
mov rcx, qword [rsp + 0x2a8]
mov rdx, rdi
call fcn.00492550
test eax, eax
jne 0x498c70
mov rcx, rsi
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x495769
mov rax, qword [rsp + 0x88]
lea rdx, [rax + 0x158]
jmp 0x4986cb
mov rax, r12
mov rax, qword [rax + 0x68]
test byte [rax + 0x5d], 0x20
jne 0x498dd7
cmp dword [rax + 0x3c], 0xffffffff
jne 0x4986f7
mov rdx, r12
mov rdx, qword [rdx + 0x68]
test byte [rdx + 0x5d], 0x20
jne 0x498dee
mov rcx, qword [rsp + 0x2a8]
call fcn.00492550
test eax, eax
jne 0x4986f7
jmp 0x49719c
mov rax, r12
mov rdx, rax
mov rax, qword [rax + 0x68]
cmp r12, rax
jne 0x498e15
jmp 0x498d53
and eax, 0xfffffff9
or eax, 2
mov byte [r12 + 0x5c], al
jmp 0x497377
mov rcx, qword [rsp + 0x118]
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x140]
mov rcx, qword [rax + 0x10]
call fcn.004e29b0
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x4957ac
mov rcx, rax
call sub.msvcrt.dll_free
jmp 0x4957ac
lea rdx, [rsp + 0x208]
jmp 0x495b93
sub eax, 6
cmp al, 1
ja 0x498ea6
mov r9, qword [r9 + 0x28]
movzx eax, byte [r9 + 0x18]
sub eax, 6
cmp al, 1
jbe 0x498e8e
mov qword [rsp + 0x210], r9
movzx eax, byte [r12 + 0x5b]
mov byte [r12 + 0x18], 6
mov qword [r12 + 0x28], r9
test al, 8
je 0x498ed7
and eax, 0xfffffff7
mov byte [r12 + 0x5b], al
movzx eax, byte [r9 + 0x5b]
or eax, 4
test al, 3
mov byte [r9 + 0x5b], al
jne 0x499174
mov qword [rsp + 0x210], r12
jmp 0x49840a
add eax, 1
je 0x498c70
jmp 0x498d99
lea rcx, str..._.._.._src_binutils_2.32_bfd_elflink.c
mov edx, 0x13cc
call fcn.00438d20
jmp 0x496fd4
test r13, r13
je 0x498f15
mov rcx, r13
call sub.msvcrt.dll_free
xor eax, eax
mov qword [rsp + 0xe8], rax
jmp 0x4971dc
mov qword [rsp + 0x218], rax
xor r13d, r13d
mov r9d, 0x2000
mov rdx, r15
lea rax, [rsp + 0x218]
mov r8, qword [rsp + 0x150]
mov dword [rsp + 0x38], r13d
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x158]
mov rcx, qword [rsp + 0x2a8]
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x40], eax
xor eax, eax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x98]
add rax, 0x348
mov qword [rsp + 0x20], rax
call fcn.0043fb90
test eax, eax
je 0x49719c
mov rbp, qword [rsp + 0x218]
cmp byte [rbp + 0x18], 6
mov qword [rsp + 0x210], rbp
jne 0x497377
mov rax, qword [rsp + 0xe0]
mov rdx, r12
mov r8, rbp
mov rcx, qword [rsp + 0x2a8]
call qword [rax + 0x1b0]
movzx eax, byte [r12 + 0x5d]
movzx edx, byte [rbp + 0x5d]
or edx, eax
and eax, 0xfffffffe
and edx, 1
or eax, edx
mov byte [r12 + 0x5d], al
movzx eax, byte [rbp + 0x5c]
mov edx, eax
or edx, dword [r12 + 0x5c]
and eax, 0x7f
and edx, 0xffffff80
or eax, edx
test esi, esi
mov byte [rbp + 0x5c], al
jne 0x49901f
cmp dword [rsp + 0x15c], 0
jne 0x4992b0
mov rax, qword [rsp + 0x2a8]
test byte [rax], 2
jne 0x49901f
test byte [rbp + 0x5b], 4
je 0x497377
mov esi, 1
jmp 0x497377
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rax + 0xe0]
test rcx, rcx
je 0x498353
mov rdx, qword [r9 + 8]
lea r8, [rsp + 0x218]
mov qword [rsp + 0x160], r9
call fcn.00442060
mov r9, qword [rsp + 0x160]
test rax, rax
mov qword [r9 + 0x70], rax
je 0x498353
cmp dword [rsp + 0x218], 0
je 0x498323
mov rax, qword [rsp + 0xe0]
mov r8d, 1
mov rdx, r9
mov rcx, qword [rsp + 0x2a8]
call qword [rax + 0x1b8]
jmp 0x498430
mov rdx, qword [r8 + 0x28]
mov qword [rsp + 0x160], r8
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x2a8]
mov qword [rsp + 0x150], rdx
call qword [rax + 0x1b0]
mov rdx, qword [rsp + 0x150]
mov r8, qword [rsp + 0x160]
movzx eax, byte [rdx + 0x5d]
mov ecx, eax
or cl, byte [r8 + 0x5d]
and eax, 0xfffffffe
and ecx, 1
or eax, ecx
mov byte [rdx + 0x5d], al
movzx eax, byte [r8 + 0x5c]
mov ecx, eax
or ecx, dword [rdx + 0x5c]
and eax, 0x7f
mov edx, ecx
and edx, 0xffffff80
or eax, edx
test esi, esi
mov byte [r8 + 0x5c], al
jne 0x498430
cmp dword [rsp + 0x15c], 0
jne 0x499191
mov rax, qword [rsp + 0x2a8]
mov esi, 1
test byte [rax], 2
jne 0x498430
xor esi, esi
test byte [r8 + 0x5b], 0xc
setne sil
jmp 0x498430
mov r9, qword [r12 + 8]
xor r8d, r8d
mov rax, qword [r15 + 0xf0]
lea rcx, [0x005569da]
mov rsi, qword [rax + 0x308]
mov rax, qword [rsp + 0x2a8]
mov rdx, rsi
mov rax, qword [rax + 0x20]
call qword [rax + 0x68]
jmp 0x497d03
mov rcx, qword [rsp + 0x2a8]
mov rdx, r9
call fcn.00492550
test eax, eax
jne 0x498ed7
jmp 0x49719c
movzx eax, byte [r8 + 0x5b]
mov esi, eax
and esi, 1
jmp 0x498430
lea rdx, [0x00556a08]
mov rcx, r15
call fcn.00445580
test rax, rax
mov rsi, rax
je 0x498906
mov rax, qword [0x005683a0]
xor r10d, r10d
mov rbx, qword [r15 + 0x88]
mov qword [rsp + 0x220], r10
lea rbp, [0x00556a11]
lea rdi, [rax + 0x230]
jmp 0x4991f0
cmp al, 0x2e
je 0x4992bf
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x498906
mov r12, qword [rbx]
mov r8d, 5
mov rdx, rbp
mov rcx, r12
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x4991ec
movzx eax, byte [r12 + 5]
test al, al
je 0x4992d6
jmp 0x4991e4
mov rax, qword [r9 + 0x28]
mov rax, qword [rax + 0xf0]
test byte [rax + 0x42], 0x20
je 0x498397
mov byte [r9 + 0x18], 1
mov qword [r9 + 0x28], rax
jmp 0x498397
mov rbp, qword [rsp + 0x108]
mov r13, qword [rsp + 0x110]
mov r9d, dword [rsp + 0xb0]
jmp 0x4974dd
mov rsi, qword [rsp + 0x208]
test rsi, rsi
je 0x4979b7
jmp 0x4986a0
mov r8, qword [rsp + 0x1f8]
mov r12, rbp
mov rdx, r12
mov r13, qword [rsp + 0x110]
lea rcx, str._pB:_undefined_reference_to_symbol__s
mov rbp, qword [rsp + 0x108]
call fcn.00438be0
mov ecx, 0xb
call fcn.00438da0
jmp 0x4971ac
test byte [rbp + 0x5b], 1
jne 0x49901f
jmp 0x497377
movzx edx, byte [r12 + 6]
mov rax, qword [0x00568450]
test byte [rax + rdx*2], 4
je 0x4991ec
test byte [rbx + 0x22], 0x80
jne 0x4991ec
cmp qword [rbx + 0x68], rdi
je 0x4991ec
mov r12, qword [rbx + 0xe0]
mov r9, rsi
mov r8, rbx
mov rcx, r15
mov rax, qword [rsp + 0x88]
lea rdx, [rax + 0xf0]
lea rax, [rsp + 0x220]
mov qword [rsp + 0x28], rax
lea rax, [r12 + 0xd8]
mov qword [rsp + 0x20], rax
call fcn.004c55e0
test eax, eax
je 0x495767
cmp qword [r12 + 0xd8], 0
je 0x4991ec
movzx eax, word [rbx + 0x24]
and ax, 0xfc7f
or al, 0x80
mov word [rbx + 0x24], ax
jmp 0x4991ec