Function at 0x14004dc3d
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, 0x208
mov al, byte [rcx + 0x44]
and eax, 7
mov r15, rcx
mov r13, rdx
cmp al, 1
je 0x14004dc6d
cmp al, 2
je 0x14005098e
jmp 0x140050d91
mov rbx, qword [rdx + 0x28]
mov rdx, qword [rcx + 8]
mov rax, qword [rdx + 0x380]
mov qword [rsp + 0x88], rax
test byte [rcx + 0x40], 0x40
je 0x14004dcc1
mov al, byte [r13]
and eax, 3
cmp al, 2
je 0x14004dcb7
cmp dword [rbx + 0x40], 1
jne 0x140050d91
mov rax, qword [r13 + 0x50]
cmp rdx, qword [rax + 8]
jne 0x140050d91
mov byte [rsp + 0xa4], 1
jmp 0x14004dcc9
mov ecx, 5
jmp 0x140050d96
mov byte [rsp + 0xa4], 0
test byte [r13 + 7], 8
je 0x14004dd27
mov rax, qword [rsp + 0x88]
mov r9d, dword [rax + 0xc]
mov rax, qword [r15 + 0x108]
movzx edx, word [rax + 0x32]
cmp r9d, edx
je 0x14004dd27
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x338]
cmp edx, eax
jne 0x14004dd02
test eax, eax
jne 0x14004dd18
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x33c]
cmp edx, eax
jne 0x14004dd27
test eax, eax
je 0x14004dd27
mov r8, r15
lea rcx, str.alternate_ELF_machine_code_found___d__in__pB__expecting__d
call fcn.140004d12
mov rsi, qword [r15 + 0x88]
lea rbp, str..gnu.warning.
test rsi, rsi
je 0x14004de38
mov rdi, qword [rsi]
mov rdx, rbp
mov rcx, rdi
call fcn.1400481fa
test al, al
je 0x14004de2f
add rdi, 0xd
cmp byte [rsp + 0xa4], 0
jne 0x14004dd7c
mov r14, qword [rsi + 0x40]
mov rcx, r15
lea rdx, [r14 + 1]
call fcn.1400082c0
mov r12, rax
test rax, rax
jne 0x14004dda9
jmp 0x14004ddc3
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.14007aa81
test rax, rax
je 0x14004dd62
mov al, byte [rax + 0x18]
sub eax, 3
cmp al, 1
ja 0x14004dd62
jmp 0x14004de2f
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov r8, rax
mov rdx, rsi
mov rcx, r15
call fcn.140009602
test al, al
jne 0x14004ddca
xor eax, eax
jmp 0x140050def
mov rax, qword [rsp + 0x88]
xor edx, edx
xor ecx, ecx
xor r8d, r8d
mov byte [r12 + r14], 0
mov r9d, 0x1000
mov qword [rsp + 0x48], rdx
mov al, byte [rax + 0x3ec]
mov rdx, r15
mov dword [rsp + 0x38], ecx
mov rcx, r13
and eax, 1
mov qword [rsp + 0x28], r8
mov r8, rdi
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x20], rsi
call fcn.14007b5d3
test al, al
je 0x14004ddc3
test byte [r13], 2
jne 0x14004de2f
xor eax, eax
or dword [rsi + 0x24], 0x8000
mov qword [rsi + 0x40], rax
mov rsi, qword [rsi + 8]
jmp 0x14004dd35
mov rax, qword [r15 + 0x88]
test rax, rax
je 0x14004def5
mov eax, dword [rax + 0x28]
and ax, 0x380
cmp byte [rsp + 0xa4], 0
jne 0x14004dee2
mov dword [rsp + 0x138], 1
cmp ax, 0x200
je 0x14004e4bb
mov al, byte [r13]
test al, 1
jne 0x14004dea4
and eax, 3
cmp al, 2
je 0x14004e4b0
cmp byte [r13 + 7], 0
jns 0x14004e4b0
movabs rax, 0x4000000000008
and rax, qword [r13]
je 0x14004e4b0
cmp dword [rbx + 0x40], 1
jne 0x14004e4b0
mov rax, qword [r13 + 0x50]
mov rdi, qword [r15 + 8]
cmp qword [rax + 8], rdi
jne 0x14004e4b0
cmp byte [rbx + 0x4c], 0
jne 0x14004e4b0
mov rdx, r13
mov rcx, r15
call fcn.14004ae0f
test al, al
jne 0x14004e4b0
jmp 0x14004ddc3
cmp ax, 0x200
sete al
movzx eax, al
mov dword [rsp + 0x138], eax
jmp 0x14004df0c
cmp byte [rsp + 0xa4], 0
je 0x14004de72
xor eax, eax
mov dword [rsp + 0x138], eax
cmp dword [rbx + 0x40], 1
jne 0x14004ddc3
xor eax, eax
cmp dword [rsp + 0x138], 0
lea r8, str.elf_link_add_object_symbols
mov edx, 0x1117
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x1e0], rax
jne 0x14004eb0f
mov rax, qword [r15 + 0x108]
lea rdx, str..dynamic
mov rcx, r15
mov eax, dword [rax + 0xd4c]
shr ax, 6
and al, 0xb
mov byte [rsp + 0xb8], al
sete byte [rsp + 0x13f]
call fcn.140009047
mov rbp, rax
test rax, rax
je 0x14004e354
cmp qword [rax + 0x40], 0
je 0x14004e359
lea r8, [rsp + 0x1e8]
mov rdx, rax
mov rcx, r15
call fcn.1400096bb
test al, al
jne 0x14004dfae
mov rcx, qword [rsp + 0x1e8]
jmp 0x140050ac4
mov rdx, rbp
mov rcx, r15
call fcn.14003c327
cmp eax, 0xfffffeff
je 0x14004dfa1
mov rdx, qword [r15 + 0x108]
mov eax, eax
xor r12d, r12d
mov rdx, qword [rdx + 0x50]
mov rax, qword [rdx + rax*8]
mov eax, dword [rax + 0x28]
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x98], rax
xor eax, eax
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0xc0], rax
lea rax, [rbx + 0xb0]
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0x1e0]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x1e8]
mov rdi, qword [rsp + 0x98]
mov r9, qword [rax + 0x340]
mov rax, qword [rbp + 0x40]
movzx edx, byte [r9 + 6]
add rax, rcx
sub rax, rdi
cmp rax, rdx
jb 0x14004e345
mov r8, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x98]
mov rcx, r15
call qword [r9 + 0x50]
cmp qword [rsp + 0x1f0], 0xe
jne 0x14004e0a8
mov r8d, dword [rsp + 0x1f8]
mov edx, dword [rsp + 0x90]
mov rcx, r15
call fcn.1400388e9
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x14004dfa1
cmp qword [rsp + 0x1f0], 1
jne 0x14004e156
mov rsi, qword [rsp + 0x1f8]
mov edx, 0x18
mov rcx, r15
call fcn.1400082c0
mov edx, dword [rsp + 0x90]
mov rcx, r15
mov r8d, esi
mov r14, rax
call fcn.1400388e9
mov rsi, rax
test r14, r14
je 0x14004dfa1
test rax, rax
je 0x14004dfa1
mov rcx, rax
call sub.msvcrt.dll_strlen
mov rcx, r15
inc rax
mov rdx, rax
mov qword [rsp + 0xb0], rax
call fcn.1400082c0
test rax, rax
je 0x14004dfa1
mov rdi, rax
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xc8]
rep movsb byte [rdi], byte [rsi]
mov qword [r14 + 0x10], rax
xor eax, eax
mov qword [r14 + 8], r15
mov qword [r14], rax
mov rax, qword [rbx + 0xb0]
test rax, rax
je 0x14004e153
mov rdx, rax
mov rax, qword [rax]
jmp 0x14004e146
mov qword [rdx], r14
cmp qword [rsp + 0x1f0], 0x1d
jne 0x14004e205
mov rsi, qword [rsp + 0x1f8]
mov edx, 0x18
mov rcx, r15
call fcn.1400082c0
mov edx, dword [rsp + 0x90]
mov rcx, r15
mov r8d, esi
mov r14, rax
call fcn.1400388e9
mov rsi, rax
test r14, r14
je 0x14004dfa1
test rax, rax
je 0x14004dfa1
mov rcx, rax
call sub.msvcrt.dll_strlen
mov rcx, r15
inc rax
mov rdx, rax
mov qword [rsp + 0xb0], rax
call fcn.1400082c0
test rax, rax
je 0x14004dfa1
mov rdi, rax
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xd0]
rep movsb byte [rdi], byte [rsi]
xor edi, edi
mov qword [r14 + 8], r15
mov qword [r14 + 0x10], rax
mov qword [r14], rdi
mov rax, qword [rsp + 0x1e0]
test rax, rax
je 0x14004e202
mov rdx, rax
mov rax, qword [rax]
jmp 0x14004e1f5
mov qword [rdx], r14
cmp qword [rsp + 0x1e0], 0
mov rax, qword [rsp + 0x1f0]
jne 0x14004e2c6
cmp rax, 0xf
jne 0x14004e2c6
mov rsi, qword [rsp + 0x1f8]
mov edx, 0x18
mov rcx, r15
call fcn.1400082c0
mov edx, dword [rsp + 0x90]
mov rcx, r15
mov r8d, esi
mov r14, rax
call fcn.1400388e9
mov rsi, rax
test r14, r14
je 0x14004dfa1
test rax, rax
je 0x14004dfa1
mov rcx, rax
call sub.msvcrt.dll_strlen
mov rcx, r15
inc rax
mov rdx, rax
mov qword [rsp + 0xb0], rax
call fcn.1400082c0
test rax, rax
je 0x14004dfa1
mov rdi, rax
mov rcx, qword [rsp + 0xb0]
lea rdx, [rsp + 0x1d8]
rep movsb byte [rdi], byte [rsi]
xor esi, esi
mov qword [r14 + 8], r15
mov qword [r14], rsi
mov qword [r14 + 0x10], rax
mov rax, qword [rsp + 0x1d8]
test rax, rax
je 0x14004e2c3
mov rdx, rax
mov rax, qword [rax]
jmp 0x14004e2b6
mov qword [rdx], r14
cmp qword [rsp + 0x1f0], 0x6ffffefc
jne 0x14004e2ee
mov r8d, dword [rsp + 0x1f8]
mov edx, dword [rsp + 0x90]
mov rcx, r15
call fcn.1400388e9
mov r12, rax
cmp qword [rsp + 0x1f0], 0x6ffffffb
jne 0x14004e325
mov rcx, qword [r15 + 0x108]
mov rax, qword [rsp + 0x1f8]
mov dl, byte [rcx + 0xd4e]
shr rax, 0x1b
and eax, 1
add eax, eax
and edx, 0xfffffffd
or eax, edx
mov byte [rcx + 0xd4e], al
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x340]
movzx eax, byte [rax + 6]
add qword [rsp + 0x98], rax
jmp 0x14004e027
call sub.msvcrt.dll_free
mov rbp, qword [rsp + 0xa8]
jmp 0x14004e35e
xor r12d, r12d
jmp 0x14004e35e
xor r12d, r12d
xor ebp, ebp
mov rax, qword [rsp + 0x1e0]
test rax, rax
je 0x14004e373
mov qword [rsp + 0x1d8], rax
mov rcx, qword [rsp + 0x1d8]
test rcx, rcx
je 0x14004e39e
mov rax, qword [rbx + 0x160]
lea rdx, [rbx + 0x160]
test rax, rax
je 0x14004e39b
mov rdx, rax
mov rax, qword [rax]
jmp 0x14004e38e
mov qword [rdx], rcx
mov rdx, qword [r15 + 0x108]
mov esi, dword [rdx + 0x3c]
mov rax, qword [rdx + 0x58]
imul rsi, rsi, 0x38
add rsi, rax
sub rsi, 0x38
lea rdx, [rsi + 0x38]
cmp rax, rdx
jae 0x14004e410
cmp dword [rsi], 0x6474e552
jne 0x14004e3b3
mov rdi, qword [r15 + 0x88]
test rdi, rdi
je 0x14004e410
mov rdx, rdi
mov rcx, r15
call fcn.140004ac5
mov edx, dword [rdi + 0x24]
test dl, 1
je 0x14004e40a
mov eax, eax
imul rax, qword [rdi + 0x30]
mov rcx, qword [rsi + 0x10]
cmp rax, rcx
jb 0x14004e40a
add rax, qword [rdi + 0x40]
add rcx, qword [rsi + 0x28]
cmp rcx, rax
jb 0x14004e40a
or edx, 8
mov dword [rdi + 0x24], edx
mov rdi, qword [rdi + 8]
jmp 0x14004e3cf
mov rcx, r15
call 0x140009013
test rbp, rbp
mov rax, qword [r15 + 0x108]
je 0x14004e42a
cmp byte [rbp], 0
jne 0x14004e43f
mov rbp, qword [rax + 0x310]
test rbp, rbp
je 0x14004e43c
cmp byte [rbp], 0
jne 0x14004e43f
mov rbp, qword [r15]
mov qword [rax + 0x310], rbp
mov rsi, qword [rbx + 0x190]
test rsi, rsi
je 0x14004e479
mov rax, qword [rsi + 8]
mov rdx, rbp
mov rax, qword [rax + 0x108]
mov rcx, qword [rax + 0x310]
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140050dd6
mov rsi, qword [rsi]
jmp 0x14004e44d
cmp byte [rsp + 0xb8], 0
je 0x14004e49c
mov rax, qword [r15 + 0x108]
cmp dword [rax + 0xd3c], 0
mov qword [rax + 0x318], r12
je 0x14004e4c3
jmp 0x14004e4d0
mov rdx, r13
mov rcx, r15
call fcn.14004ae0f
test al, al
jne 0x14004e483
jmp 0x140050def
xor r11d, r11d
mov dword [rsp + 0x138], r11d
mov byte [rsp + 0x13f], 1
mov rax, qword [r15 + 0x108]
add rax, 0x60
jmp 0x14004e4d6
add rax, 0x150
mov qword [rsp + 0x100], rax
xor edx, edx
xor r10d, r10d
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xd8], r10
mov rax, qword [rax + 0x340]
movzx ecx, byte [rax + 5]
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0x20]
div rcx
mov qword [rsp + 0xc8], rax
mov rax, qword [r15 + 0x108]
test byte [rax + 0xd4e], 1
jne 0x14004e540
mov rdi, qword [rsp + 0x100]
mov edi, dword [rdi + 0x2c]
sub qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd8], rdi
mov rax, qword [rax + 0x300]
xor r9d, r9d
cmp qword [rsp + 0xc8], 0
mov qword [rsp + 0x98], r9
mov qword [rsp + 0xd0], rax
je 0x14004e5f6
xor r8d, r8d
mov r9, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x100]
mov rcx, r15
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r8
mov r8, qword [rsp + 0xc8]
call fcn.1400389cf
mov qword [rsp + 0x98], rax
test rax, rax
je 0x14004ddc3
cmp qword [rsp + 0xd0], 0
jne 0x14004e5f6
mov rax, qword [rsp + 0xc8]
mov rcx, r15
lea rdx, [rax*8]
call fcn.1400085b8
mov qword [rsp + 0xd0], rax
test rax, rax
je 0x140050981
mov rax, qword [r15 + 0x108]
mov rdi, qword [rsp + 0xd0]
mov qword [rax + 0x300], rdi
cmp byte [rsp + 0xa4], 0
jne 0x14004e614
xor ecx, ecx
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0xb8], rcx
jmp 0x14004e68d
mov dl, byte [r13 + 5]
mov rcx, r15
shr dl, 2
and edx, 1
call fcn.140040f36
test al, al
je 0x140050981
mov rax, qword [r15 + 0x108]
cmp dword [rax + 0xd40], 0
je 0x14004e600
mov rdx, qword [rax + 0x208]
xor r8d, r8d
mov rcx, r15
mov rsi, qword [rax + 0x210]
call fcn.140077e3a
test eax, eax
jne 0x140050981
mov r8, rsi
mov rdx, rsi
mov rcx, r15
call fcn.140047ed8
mov qword [rsp + 0xb8], rax
test rax, rax
je 0x140050981
and rsi, 0xfffffffffffffffe
add rax, rsi
mov qword [rsp + 0x128], rax
mov rax, qword [r15 + 0x108]
test byte [rax + 0xd4c], 0x40
je 0x14004e83b
mov edx, dword [rbx + 0x18]
xor r8d, r8d
xor ecx, ecx
cmp r8d, edx
jae 0x14004e6e6
mov rax, qword [rbx]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x14004e6e1
mov r10d, dword [rbx + 0x20]
mov r9, rax
add rcx, r10
cmp byte [rax + 0x18], 7
jne 0x14004e6d1
mov r9, qword [rax + 0x28]
add rcx, r10
cmp byte [r9 + 0x18], 5
jne 0x14004e6dc
add rcx, 0x10
mov rax, qword [rax]
jmp 0x14004e6b5
inc r8
jmp 0x14004e6a9
lea rax, [rdx*8]
add rcx, rax
mov qword [rsp + 0x108], rax
call fcn.1400073d6
mov qword [rsp + 0xc0], rax
test rax, rax
je 0x140050909
mov edx, 1
mov rcx, rbx
call fcn.140006f37
mov qword [rsp + 0x148], rax
test rax, rax
je 0x140050909
mov rax, qword [rsp + 0x88]
xor r8d, r8d
mov rdx, r13
mov rcx, r15
call qword [rax + 0x110]
test al, al
je 0x140050909
mov rax, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x108]
mov rsi, qword [rbx]
mov rcx, qword [rsp + 0x108]
lea rbp, [rax + rdi]
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x158], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x160], rax
mov rax, qword [rbx]
mov qword [rsp + 0x150], rax
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x16c], eax
mov eax, dword [rbx + 0x1c]
mov dword [rsp + 0x178], eax
mov rax, qword [rbx + 0x90]
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x14004e7d4
mov rcx, rax
call fcn.14005a6cc
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x140050909
xor r8d, r8d
cmp r8d, dword [rbx + 0x18]
jae 0x14004e885
mov rdx, qword [rbx]
mov eax, r8d
mov rdx, qword [rdx + rax*8]
test rdx, rdx
je 0x14004e836
mov rdi, rbp
mov ecx, dword [rbx + 0x20]
mov rsi, rdx
mov rax, rdx
rep movsb byte [rdi], byte [rsi]
mov ecx, dword [rbx + 0x20]
add rbp, rcx
cmp byte [rdx + 0x18], 7
jne 0x14004e81c
mov rax, qword [rdx + 0x28]
mov rdi, rbp
mov rsi, rax
rep movsb byte [rdi], byte [rsi]
mov ecx, dword [rbx + 0x20]
add rbp, rcx
cmp byte [rax + 0x18], 5
jne 0x14004e831
mov rax, qword [rax + 0x28]
add rbp, 0x10
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x10], xmm0
mov rdx, qword [rdx]
jmp 0x14004e7eb
inc r8d
jmp 0x14004e7d7
xor eax, eax
xor edx, edx
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x158], rax
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x108], rax
mov dword [rsp + 0x178], edx
mov dword [rsp + 0x16c], edx
cmp qword [rsp + 0xb8], 0
je 0x14004e8f8
mov rax, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xb8]
add rax, rax
add rax, rdi
mov rdi, qword [rsp + 0x128]
mov qword [rsp + 0xe8], rax
cmp rax, rdi
jb 0x14004e902
mov rax, qword [rsp + 0xb8]
mov r9, rdi
mov rdx, r15
lea rcx, str._pB:_invalid_version_offset__lx__max__lx_
mov r8d, dword [rsp + 0xd8]
sub r9, rax
sar r9, 1
movsxd r9, r9d
shr r9, 1
call fcn.140004d12
mov ecx, 0x11
call fcn.140004e84
jmp 0x140050913
xor eax, eax
mov qword [rsp + 0xe8], rax
mov al, byte [r13]
and eax, 3
cmp al, 2
je 0x14004e923
test byte [r15 + 0x46], 0x10
je 0x14004e923
mov rdx, r15
lea rcx, [0x1400b789d]
call fcn.140004d12
cmp qword [rsp + 0xc8], 0
je 0x1400500fd
mov rax, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0x98]
shl rax, 5
mov r14, rdi
add rax, rdi
mov qword [rsp + 0x170], rax
xor eax, eax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x110], rax
mov rax, qword [0x1400e06b0]
add rax, 0x118
mov qword [rsp + 0x180], rax
movzx eax, byte [rsp + 0xa4]
mov dword [rsp + 0x188], eax
jmp 0x14004e9c9
mov rax, qword [r15 + 0x108]
test byte [rax + 0xd4e], 1
je 0x14004eb4f
add qword [rsp + 0xd0], 8
add r14, 0x20
cmp qword [rsp + 0xe8], 0
je 0x14004e9c9
add qword [rsp + 0xe8], 2
mov rax, qword [rsp + 0x170]
cmp r14, rax
jae 0x140050117
xor eax, eax
xor r12d, r12d
mov rcx, r14
mov dword [rsp + 0x1a0], eax
xor eax, eax
mov qword [rsp + 0x1b0], rax
mov rax, qword [r14]
mov qword [rsp + 0x1c0], r12
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x88]
call qword [rax + 0x2d8]
mov byte [rsp + 0x13e], al
test al, al
jne 0x14004eb1b
mov byte [rsp + 0x13e], 0
mov al, byte [r14 + 0x14]
shr al, 4
mov byte [rsp + 0xf0], al
cmp al, 2
je 0x14004ebd9
ja 0x14004eb31
test al, al
je 0x14004e994
cmp dword [r14 + 0x18], 0
jne 0x14004ebbb
mov edx, dword [r14 + 0x18]
test edx, edx
jne 0x14004ebe9
mov rax, qword [0x1400e06b0]
add rax, 0x118
mov qword [rsp + 0x1b0], rax
mov byte [rsp + 0x118], 0
mov rax, qword [rsp + 0x100]
mov r8d, dword [r14 + 0x10]
mov rcx, r15
mov edx, dword [rax + 0x28]
call fcn.1400388e9
mov qword [rsp + 0x1b8], rax
test rax, rax
je 0x14005094d
cmp dword [r14 + 0x18], 0xfffffff2
jne 0x14004ecd9
test byte [r15 + 0x42], 1
je 0x14004ec89
lea rsi, [0x1400b78fb]
mov rcx, r15
mov rdx, rsi
call fcn.140009047
mov r8d, 0x209001
test rax, rax
je 0x14004ecc0
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0xf8], rax
test rax, rax
jne 0x14004ed47
lea r8, str.elf_link_add_object_symbols
mov edx, 0x133d
lea rcx, str._binutils_2.40_bfd_elflink.c
call fcn.140004e35
test byte [r13 + 8], 1
je 0x14004ea2b
xor ebp, ebp
mov dword [r14 + 0x18], ebp
jmp 0x14004ea23
cmp byte [rsp + 0xf0], 0xa
jne 0x14004ea5a
mov dword [rsp + 0x1a0], 0x800000
jmp 0x14004ea5a
mov edx, dword [rax + 0x48]
mov rax, qword [rsp + 0x100]
mov rcx, r15
mov r8d, dword [rax]
call fcn.1400388e9
mov rdi, qword [rsp + 0x98]
mov rdx, r15
lea rcx, str._pB:__s_local_symbol_at_index__lu____sh_info_of__lu_
mov qword [rsp + 0x1b8], rax
mov r8, rax
mov rax, r14
sub rax, rdi
mov edi, dword [rsp + 0xd8]
sar rax, 5
mov dword [rsp + 0x20], edi
mov rdi, qword [rsp + 0xd8]
lea r9d, [rax + rdi]
call fcn.140004d12
cmp byte [rsp + 0xa4], 0
jne 0x14004e9a8
jmp 0x14004ee5d
cmp byte [rsp + 0x13e], 0
jne 0x14004ea5a
mov dword [rsp + 0x1a0], 2
jmp 0x14004ea5a
mov dword [rsp + 0x1a0], pe_nt_image_headers64
jmp 0x14004ea5a
cmp edx, 0xfffffff1
jne 0x14004ec00
mov rax, qword [0x1400e06b0]
add rax, 0x230
jmp 0x14004ea73
cmp edx, 0xfffffff2
jne 0x14004ec25
mov rax, qword [0x1400e06b0]
mov qword [rsp + 0x1b0], rax
mov rax, qword [r14 + 8]
mov qword [rsp + 0x1a8], rax
jmp 0x14004ea7b
mov rcx, r15
call fcn.140039582
mov qword [rsp + 0x1b0], rax
mov rcx, rax
test rax, rax
je 0x14004ebee
call fcn.1400467e0
mov byte [rsp + 0x118], al
test al, al
je 0x14004ec6d
mov rax, qword [0x1400e06b0]
xor edi, edi
add rax, 0x118
mov qword [rsp + 0x1b0], rax
mov dword [r14 + 0x18], edi
jmp 0x14004ea83
test byte [r15 + 0x40], 0x42
je 0x14004ea7b
mov rax, qword [rcx + 0x30]
sub qword [rsp + 0x1a8], rax
jmp 0x14004ea7b
mov al, byte [r14 + 0x14]
and eax, 0xf
cmp al, 6
jne 0x14004ecd9
mov al, byte [r13]
and eax, 3
cmp al, 2
je 0x14004ecd9
lea rsi, str..tcommon
mov rcx, r15
mov rdx, rsi
call fcn.140009047
test rax, rax
jne 0x14004eae2
mov r8d, 0x101401
mov rdx, rsi
mov rcx, r15
call fcn.1400093c8
test rax, rax
jne 0x14004eae2
jmp 0x14005094d
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0xc8]
test rax, rax
je 0x14004eaea
lea rdx, [rsp + 0x1a8]
lea r9, [rsp + 0x1b8]
mov r8, r14
mov rcx, r15
mov qword [rsp + 0x30], rdx
lea rdx, [rsp + 0x1b0]
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 0x1a0]
mov qword [rsp + 0x20], rdx
mov rdx, r13
call rax
test al, al
je 0x14005094d
cmp qword [rsp + 0x1b8], 0
jne 0x14004eaea
jmp 0x14004e9a8
mov al, byte [r14 + 0x14]
and eax, 0xf
cmp al, 6
jne 0x14004ed73
mov rax, qword [rsp + 0xf8]
mov eax, dword [rax + 0x28]
mov word [rsp + 0x90], ax
and ax, 0x380
cmp ax, 0x200
je 0x14004e9a8
mov byte [rsp + 0x90], 0
mov rdi, qword [rsp + 0x180]
cmp qword [rsp + 0xf8], rdi
je 0x14004edaf
mov rax, qword [rsp + 0xf8]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x90], eax
shr eax, 0xc
xor eax, 1
and eax, 1
mov byte [rsp + 0x90], al
mov rax, qword [rsp + 0x88]
xor r11d, r11d
xor esi, esi
mov byte [rsp + 0x198], 0
mov byte [rsp + 0x19a], 0
mov al, byte [rax + 0x3ec]
mov byte [rsp + 0x19b], 0
mov dword [rsp + 0x1a4], r11d
mov byte [rsp + 0x120], al
shr al, 1
and eax, 1
cmp dword [rbx + 0x40], 1
mov qword [rsp + 0x1c8], rsi
mov byte [rsp + 0x199], al
jne 0x14004f1cb
cmp qword [rsp + 0xe8], 0
jne 0x14004ee3c
test byte [r13 + 5], 4
je 0x14004ee30
mov rax, qword [r15 + 0x108]
mov eax, dword [rax + 0x340]
mov word [rsp + 0x1f0], ax
jmp 0x14004ee7f
mov word [rsp + 0x1f0], 0
jmp 0x14004ee7f
mov rdi, qword [rsp + 0x128]
cmp qword [rsp + 0xe8], rdi
jb 0x14004ee67
mov rdx, r15
lea rcx, str._pB:_not_enough_version_information
call fcn.140004d12
mov ecx, 0x11
jmp 0x1400500c5
mov rdx, qword [rsp + 0xe8]
lea r8, [rsp + 0x1f0]
mov rcx, r15
call fcn.1400386d9
mov ebp, dword [rsp + 0x1f0]
mov esi, ebp
mov r12d, ebp
and si, 0x7fff
and r12d, 0x7fff
test bp, bp
jns 0x14004eeb0
mov edi, dword [r14 + 0x18]
mov rdx, qword [r15 + 0x108]
test edi, edi
jne 0x14004eef3
jmp 0x14004ef45
mov rdx, qword [rsp + 0x1b0]
test bp, 0x7ffe
je 0x14004f04f
mov rax, qword [0x1400e06b0]
add rax, 0x230
cmp rdx, rax
jne 0x14004ee9c
mov cl, byte [r14 + 0x14]
mov rax, qword [rsp + 0x88]
and ecx, 0xf
call qword [rax + 0x308]
test al, al
jne 0x14004ee9c
jmp 0x14004f04f
mov ecx, dword [rdx + 0x340]
cmp ecx, r12d
jb 0x14004ef22
test bp, 0x7ffe
je 0x14004ef96
lea eax, [r12 - 1]
shl rax, 6
add rax, qword [rdx + 0x348]
mov rbp, qword [rax + 0x20]
test rbp, rbp
jne 0x14004ef9d
mov dword [rsp + 0x20], ecx
mov r9d, r12d
mov rdx, r15
lea rcx, str._pB:__s:_invalid_version__u__max__d_
mov r8, qword [rsp + 0x1b8]
call fcn.140004d12
jmp 0x14004ee5d
mov rdx, qword [rdx + 0x350]
test rdx, rdx
je 0x14004ef77
mov rax, qword [rdx + 0x20]
test rax, rax
je 0x14004ef71
cmp si, word [rax + 6]
jne 0x14004ef6b
mov rbp, qword [rax + 0x10]
test rbp, rbp
jne 0x14004ef9d
jmp 0x14004ef77
mov rax, qword [rax + 0x18]
jmp 0x14004ef55
mov rdx, qword [rdx + 0x28]
jmp 0x14004ef4c
mov r8, qword [rsp + 0x1b8]
mov r9d, r12d
mov rdx, r15
lea rcx, str._pB:__s:_invalid_needed_version__d
call fcn.140004d12
jmp 0x14004ee5d
lea rbp, [0x1400b7829]
mov rcx, qword [rsp + 0x1b8]
call sub.msvcrt.dll_strlen
mov rcx, rbp
mov qword [rsp + 0x120], rax
call sub.msvcrt.dll_strlen
mov r8, rax
mov rax, qword [rsp + 0x120]
add rax, r8
cmp word [rsp + 0x1f0], 0
js 0x14004efe0
test edi, edi
lea rdx, [rax + 3]
setne cl
test cl, cl
jne 0x14004efe4
lea rdx, [rax + 2]
mov rcx, rbx
mov qword [rsp + 0x130], r8
call fcn.140006f37
test rax, rax
je 0x14005094d
mov rsi, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x120]
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
mov r8, qword [rsp + 0x130]
mov byte [rdi], 0x40
lea rdx, [rdi + 1]
cmp word [rsp + 0x1f0], 0
js 0x14004f03b
cmp dword [r14 + 0x18], 0
je 0x14004f03b
mov byte [rdi + 1], 0x40
lea rdx, [rdi + 2]
lea rcx, [r8 + 1]
mov rdi, rdx
mov rsi, rbp
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0x1b8], rax
mov rax, qword [0x1400e06b0]
add rax, 0x118
cmp qword [rsp + 0x1b0], rax
je 0x14004f08e
cmp byte [rsp + 0xa4], 0
jne 0x14004f08e
test byte [r15 + 0x45], 2
je 0x14004f08e
mov al, byte [r14 + 0x15]
mov edx, eax
and edx, 3
dec dl
je 0x14004f08e
and eax, 0xfffffffc
or eax, 2
mov byte [r14 + 0x15], al
lea rax, [rsp + 0x19b]
mov r9, r14
mov rdx, r13
mov rcx, r15
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x198]
mov r8, qword [rsp + 0x1b8]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x199]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x1a4]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x19a]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x1a8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x20], rax
call fcn.14004ba50
test al, al
je 0x14005094d
mov al, byte [rsp + 0x1e8]
test al, al
jne 0x14004e9a8
cmp qword [rsp + 0x1c0], 0
je 0x14004f170
mov dil, byte [rsp + 0x90]
cmp byte [rsp + 0x19b], 0
cmovne edi, eax
mov byte [rsp + 0x90], dil
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax]
mov dil, byte [rax + 0x18]
lea edx, [rdi - 6]
cmp dl, 1
ja 0x14004f18d
mov rax, qword [rax + 0x28]
jmp 0x14004f17b
mov dl, byte [rax + 0x64]
and edx, 0xc
cmp dl, 4
je 0x14004f1cb
mov rdx, qword [r15 + 0x108]
mov rdx, qword [rdx + 0x348]
test rdx, rdx
je 0x14004f1cb
cmp r12d, 1
jbe 0x14004f1cb
cmp byte [rsp + 0x90], 0
je 0x14004f1cb
lea ecx, [r12 - 1]
shl rcx, 6
add rdx, rcx
mov qword [rax + 0x78], rdx
mov rax, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x1c0]
mov rdx, r15
mov rcx, r13
mov rdi, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x1b8]
mov al, byte [rax + 0x3ec]
mov qword [rsp + 0x48], rdi
and eax, 1
test rsi, rsi
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x1a8]
cmovne rdx, rsi
xor r9d, r9d
xor r10d, r10d
mov dword [rsp + 0x38], r9d
mov r9d, dword [rsp + 0x1a0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x20], rax
call fcn.14007b5d3
mov byte [rsp + 0x18c], al
test al, al
je 0x14005094d
mov rax, qword [rsp + 0xd0]
mov rdi, qword [rax]
mov r12, rdi
mov al, byte [r12 + 0x18]
sub eax, 6
cmp al, 1
ja 0x14004f271
mov r12, qword [r12 + 0x28]
jmp 0x14004f25e
mov rax, qword [rsp + 0xd0]
cmp byte [rsp + 0x118], 0
mov qword [rax], r12
je 0x14004f295
cmp dword [rbx + 0x40], 1
jne 0x14004f295
mov dword [r12 + 0x38], 0xfffffffd
mov eax, dword [rsp + 0x1a0]
and eax, 0x80
mov dword [rsp + 0x17c], eax
setne al
test byte [rsp + 0xa4], al
je 0x14004f2fa
cmp byte [rsp + 0x90], 0
je 0x14004f2fa
mov cl, byte [r14 + 0x14]
mov rax, qword [rsp + 0x88]
and ecx, 0xf
call qword [rax + 0x308]
test al, al
jne 0x14004f2fa
cmp dword [rbx + 0x40], 1
jne 0x14004f2fa
cmp qword [r12 + 0x70], 0
jne 0x14004f2fa
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xe0], r12
mov qword [r12 + 0x70], rax
cmp byte [rsp + 0x13e], 0
jne 0x14004f312
mov rax, qword [rsp + 0x1b0]
test byte [rax + 0x25], 0x10
je 0x14004f34c
cmp byte [r12 + 0x18], 5
jne 0x14004f34c
cmp byte [rsp + 0x13e], 0
je 0x14004f32e
mov rcx, qword [r14]
call fcn.1400077e6
jmp 0x14004f339
mov rax, qword [rsp + 0xf8]
mov eax, dword [rax + 0x7c]
mov edx, dword [rsp + 0x1a4]
mov rcx, qword [r12 + 0x28]
cmp eax, edx
cmovb eax, edx
mov dword [rcx], eax
cmp dword [rbx + 0x40], 1
jne 0x14004e9a8
mov eax, dword [r15 + 0x40]
bt eax, 0x10
mov dword [rsp + 0x168], eax
jae 0x14004f387
cmp byte [rsp + 0x90], 1
je 0x14004f3f8
cmp byte [rsp + 0xf0], 2
je 0x14004f3f8
or byte [r12 + 0x63], 0x20
jmp 0x14004f3f8
cmp byte [rsp + 0xa4], 0
mov al, byte [r12 + 0x63]
jne 0x14004f3d2
cmp byte [rsp + 0x90], 0
jne 0x14004f3b9
mov edx, eax
or eax, 0x11
or edx, 1
mov byte [r12 + 0x63], dl
cmp byte [rsp + 0xf0], 2
jne 0x14004f3cb
jmp 0x14004f41a
or eax, 2
mov byte [r12 + 0x63], al
test al, 8
je 0x14004f41a
and eax, 0xfffffff3
or eax, 4
mov byte [r12 + 0x63], al
jmp 0x14004f41a
cmp byte [rsp + 0x90], 0
jne 0x14004f3ea
or eax, 4
mov byte [r12 + 0x63], al
or byte [rdi + 0x63], 4
jmp 0x14004f409
or eax, 8
mov byte [r12 + 0x63], al
or byte [rdi + 0x63], 8
jmp 0x14004f409
cmp rdi, r12
jne 0x14004f40e
cmp byte [rsp + 0xa4], 0
jne 0x14004f43b
jmp 0x14004f41f
cmp rdi, r12
je 0x14004f43b
test byte [rdi + 0x64], 0x10
jne 0x140050dda
jmp 0x14004f3fd
cmp rdi, r12
jne 0x14004f40e
mov al, byte [r13]
not eax
test al, 3
jne 0x14004f433
mov bpl, byte [rsp + 0x18c]
jmp 0x14004f45d
test byte [r12 + 0x63], 0xc
jmp 0x14004f459
test byte [r12 + 0x63], 3
jne 0x14004f429
xor ebp, ebp
test byte [r12 + 0x65], 0x40
je 0x14004f45d
mov rcx, r12
call fcn.140046814
cmp dword [rax + 0x3c], 0xffffffff
setne bpl
cmp byte [rsp + 0x90], 0
jne 0x14004f47c
test rsi, rsi
jne 0x14004fc42
cmp byte [r12 + 0x18], 5
jne 0x14004fc42
cmp rdi, r12
je 0x14004f48e
mov al, byte [rdi + 0x64]
not eax
test al, 0xc
je 0x14004fc42
mov rax, qword [rsp + 0x1b0]
mov sil, byte [r12 + 0x64]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x1d0], rax
test esi, 4
jne 0x14004fc42
mov rcx, qword [rsp + 0xf0]
mov edx, 0x40
call sub.msvcrt.dll_strchr
mov qword [rsp + 0xf8], rax
test esi, 0xc
jne 0x14004f526
test rax, rax
jne 0x14004f4fe
and esi, 0xfffffff3
or esi, 4
jmp 0x14004f50f
mov rax, qword [rsp + 0xf8]
cmp byte [rax + 1], 0x40
je 0x14004f519
or esi, 0xc
mov byte [r12 + 0x64], sil
jmp 0x14004fc42
and esi, 0xfffffff3
or esi, 8
mov byte [r12 + 0x64], sil
jmp 0x14004f535
cmp qword [rsp + 0xf8], 0
je 0x14004fc42
mov rax, qword [r15 + 8]
mov rdi, qword [rsp + 0xf0]
mov rcx, qword [r13 + 0x28]
mov rax, qword [rax + 0x380]
mov qword [rsp + 0x140], rax
mov al, byte [rax + 0x3ec]
and eax, 1
mov byte [rsp + 0x18d], al
mov rax, qword [rsp + 0xf8]
sub rax, rdi
mov qword [rsp + 0x118], rax
mov eax, dword [rsp + 0x118]
lea edx, [rax + 1]
call fcn.140006f37
mov qword [rsp + 0x120], rax
test rax, rax
je 0x14005094d
mov rdi, rax
xor r8d, r8d
mov r9, r14
mov rdx, r13
mov rsi, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x118]
mov byte [rsp + 0x19c], 0
rep movsb byte [rdi], byte [rsi]
mov rdi, qword [rsp + 0x118]
mov rcx, r15
mov byte [rsp + 0x19d], 0
mov byte [rsp + 0x19f], 1
mov byte [rax + rdi], 0
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x1f0], rax
lea rax, [rsp + 0x19f]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x19d]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x19c]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x19e]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x1d8]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x40], r8
mov r8, qword [rsp + 0x120]
mov qword [rsp + 0x20], rax
call fcn.14004ba50
mov esi, eax
test al, al
je 0x14005094d
and dword [rsp + 0x168], 0x40
mov r9b, byte [rsp + 0x19e]
setne byte [rsp + 0x18e]
test r9b, r9b
jne 0x14004f973
mov rdi, qword [rsp + 0x1d8]
mov al, byte [rdi + 0x63]
test al, 2
jne 0x14004f6d5
mov dl, byte [rdi + 0x18]
test al, 0xa
je 0x14004f6d0
cmp qword [rsp + 0x1e8], 0
mov dl, byte [rdi + 0x18]
jne 0x14004f83f
jmp 0x14004f78d
cmp dl, 3
jne 0x14004f6b9
cmp qword [rdi + 0x78], 0
jne 0x14004f73b
mov rcx, qword [r13 + 0x110]
test rcx, rcx
je 0x14004f73b
mov rdx, qword [rdi + 8]
lea r8, [rsp + 0x1e0]
mov byte [rsp + 0x18f], r9b
call fcn.14007cfe0
mov r9b, byte [rsp + 0x18f]
test rax, rax
mov qword [rdi + 0x78], rax
je 0x14004f73b
cmp byte [rsp + 0x1e0], 0
je 0x14004f73b
mov rax, qword [rsp + 0x140]
mov r8d, 1
mov rdx, rdi
mov rcx, r13
call qword [rax + 0x1d8]
jmp 0x14004f973
mov rax, qword [rdi + 0x78]
test rax, rax
je 0x14004f6b9
mov rdx, qword [rax + 8]
mov rax, qword [rsp + 0xf8]
mov byte [rsp + 0x18f], r9b
mov rcx, qword [rsp + 0xf8]
cmp byte [rax + 1], 0x40
sete al
movzx eax, al
lea rcx, [rcx + rax + 1]
call sub.msvcrt.dll_strcmp
mov r9b, byte [rsp + 0x18f]
test eax, eax
je 0x14004f6b9
jmp 0x14004f973
mov al, byte [r13]
and eax, 3
cmp al, 2
je 0x14004f8a6
mov qword [rsp + 0x1e0], rdi
cmp dl, 3
jne 0x14004f7c7
mov rax, qword [rdi + 0x28]
mov rax, qword [rax + 0xe0]
test rax, rax
je 0x14004f7c7
test byte [rax + 0x42], 1
je 0x14004f7c7
mov byte [rdi + 0x18], 1
mov qword [rdi + 0x28], rax
lea rax, [rsp + 0x1e0]
xor edx, edx
xor ecx, ecx
mov r8, qword [rsp + 0x120]
mov qword [rsp + 0x48], rax
movzx eax, byte [rsp + 0x18d]
mov r9d, 0x2000
mov dword [rsp + 0x38], edx
mov rdx, r15
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x28], rcx
mov rcx, r13
mov qword [rsp + 0x30], rax
mov rax, qword [0x1400e06b0]
add rax, 0x348
mov qword [rsp + 0x20], rax
call fcn.14007b5d3
test al, al
je 0x14005094d
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0x1d8], rax
jmp 0x14004f8a6
mov al, byte [rdi + 0x18]
sub eax, 6
cmp al, 1
ja 0x14004f852
mov rdi, qword [rdi + 0x28]
mov r9d, esi
jmp 0x14004f83f
test r9b, r9b
je 0x14004f85f
mov qword [rsp + 0x1d8], rdi
mov al, byte [r12 + 0x63]
mov byte [r12 + 0x18], 6
mov qword [r12 + 0x28], rdi
test al, 8
jne 0x14004f87d
mov qword [rsp + 0x1d8], r12
jmp 0x14004f8a6
and eax, 0xfffffff7
mov byte [r12 + 0x63], al
mov al, byte [rdi + 0x63]
or eax, 4
mov byte [rdi + 0x63], al
test al, 3
je 0x14004f873
mov rdx, rdi
mov rcx, r13
call fcn.14004b30a
test al, al
jne 0x14004f873
jmp 0x14005094d
mov rax, qword [rsp + 0x1d8]
cmp byte [rax + 0x18], 7
jne 0x14004f8c0
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x1d8], rax
mov rdi, qword [rsp + 0x1d8]
cmp byte [rdi + 0x18], 6
jne 0x14004f973
mov r10, qword [rdi + 0x28]
mov rax, qword [rsp + 0x140]
mov r8, rdi
mov rcx, r13
mov rdx, r10
mov qword [rsp + 0x120], r10
call qword [rax + 0x1d0]
movzx r8d, byte [rdi + 0x61]
movzx eax, byte [rsp + 0x18e]
mov rcx, qword [r15 + 8]
mov dword [rsp + 0x20], 1
mov dword [rsp + 0x28], eax
mov rdx, qword [rsp + 0x120]
mov r9, qword [rsp + 0x130]
call fcn.140049aa5
mov r10, qword [rsp + 0x120]
mov dl, byte [rdi + 0x65]
mov al, byte [r10 + 0x65]
or edx, eax
and eax, 0xfffffffd
and edx, 2
or eax, edx
mov byte [r10 + 0x65], al
and eax, 1
or byte [rdi + 0x65], al
test bpl, bpl
jne 0x14004f973
cmp dword [rsp + 0x168], 0
jne 0x14004f96c
mov ebp, esi
test byte [r13], 2
jne 0x14004f973
test byte [rdi + 0x63], 0xc
setne bpl
jmp 0x14004f973
mov bpl, byte [rdi + 0x63]
and ebp, 1
mov rcx, qword [rsp + 0xf0]
call sub.msvcrt.dll_strlen
mov rcx, qword [r13 + 0x28]
mov edx, eax
mov qword [rsp + 0x120], rax
call fcn.140006f37
mov r8, rax
test rax, rax
je 0x14005094d
mov rsi, qword [rsp + 0xf0]
mov rdi, rax
mov r9, r14
mov rdx, r13
mov rcx, qword [rsp + 0x118]
mov byte [rsp + 0x19c], 0
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x120]
mov rsi, qword [rsp + 0xf8]
mov byte [rsp + 0x19d], 0
mov qword [rsp + 0xf8], r8
inc rsi
mov rax, rdi
mov rdi, qword [rsp + 0x118]
sub rcx, rdi
mov rdi, rax
mov rax, qword [rsp + 0x130]
rep movsb byte [rdi], byte [rsi]
mov rcx, r15
mov qword [rsp + 0x1f0], rax
lea rax, [rsp + 0x19f]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x19d]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x19c]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x19e]
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x1d8]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x20], rax
call fcn.14004ba50
mov esi, eax
test al, al
je 0x14005094d
cmp byte [rsp + 0x19e], 0
mov r8, qword [rsp + 0xf8]
je 0x14004fafe
cmp dword [rsp + 0x168], 0
jne 0x14004fc42
cmp byte [r12 + 0x18], 4
jne 0x14004fc42
mov rax, qword [rsp + 0x1d8]
cmp byte [rax + 0x18], 3
jne 0x14004fc42
mov rdx, qword [rax + 0x28]
mov byte [r12 + 0x18], 3
mov qword [r12 + 0x28], rdx
mov rdx, qword [rax + 0x30]
mov qword [r12 + 0x30], rdx
mov byte [rax + 0x18], 6
mov qword [rax + 0x28], r12
jmp 0x14004fba9
cmp qword [rsp + 0x1e8], 0
mov rax, qword [rsp + 0x1d8]
je 0x14004fb33
mov al, byte [rax + 0x18]
sub eax, 3
cmp al, 1
jbe 0x14004fc42
mov rdx, r15
lea rcx, str._pB:_unexpected_redefinition_of_indirect_versioned_symbol___s
call fcn.140004d12
jmp 0x14004fc42
mov qword [rsp + 0x1e0], rax
mov r9d, 0x2000
mov rdx, r15
mov rcx, r13
lea rax, [rsp + 0x1e0]
mov qword [rsp + 0x48], rax
movzx eax, byte [rsp + 0x18d]
mov dword [rsp + 0x40], eax
xor eax, eax
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x30], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov rax, qword [0x1400e06b0]
add rax, 0x348
mov qword [rsp + 0x20], rax
call fcn.14007b5d3
test al, al
je 0x14005094d
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0x1d8], rax
mov rdi, qword [rsp + 0x1d8]
cmp byte [rdi + 0x18], 6
jne 0x14004fc42
mov rax, qword [rsp + 0x140]
mov r8, rdi
mov rdx, r12
mov rcx, r13
call qword [rax + 0x1d0]
mov al, byte [r12 + 0x65]
mov dl, byte [rdi + 0x65]
or edx, eax
and eax, 0xfffffffd
and edx, 2
or eax, edx
mov rdx, r12
mov byte [r12 + 0x65], al
and eax, 1
movzx r8d, byte [rdi + 0x61]
or byte [rdi + 0x65], al
movzx eax, byte [rsp + 0x18e]
mov rcx, qword [r15 + 8]
mov dword [rsp + 0x20], 1
mov dword [rsp + 0x28], eax
mov r9, qword [rsp + 0x130]
call fcn.140049aa5
test bpl, bpl
je 0x14004fc25
mov ebp, esi
jmp 0x14004fc42
cmp dword [rsp + 0x168], 0
jne 0x14004fc3c
test byte [r13], 2
jne 0x14004fc21
test byte [rdi + 0x63], 4
jmp 0x14004fc40
test byte [rdi + 0x63], 1
jne 0x14004fc21
mov r8d, dword [rsp + 0x1a4]
test r8d, r8d
jne 0x14004fc5d
cmp byte [rsp + 0x13e], 0
je 0x14004fd36
mov al, byte [r12 + 0x18]
cmp al, 5
je 0x14004fd36
sub eax, 3
cmp al, 1
jbe 0x14004fc92
mov edx, 0x1490
lea rcx, str._binutils_2.40_bfd_elflink.c
mov dword [rsp + 0xf0], r8d
call fcn.140004e1a
mov r8d, dword [rsp + 0xf0]
bsf eax, dword [r12 + 0x30]
mov esi, 0xffffffff
cmovne esi, eax
mov rax, qword [r12 + 0x28]
mov rdx, qword [rax + 0xe0]
test rdx, rdx
je 0x14004fcc2
test dword [rdx + 0x40], 0x10040
jne 0x14004fcc2
mov eax, dword [rax + 0x7c]
cmp esi, eax
cmova esi, eax
mov rdi, qword [rsp + 0x1c8]
mov r9, r15
test r8d, r8d
jne 0x14004fce3
mov rcx, qword [r14]
call fcn.1400077e6
mov r9, rdi
mov rdi, r15
mov r8d, eax
cmp esi, r8d
jae 0x14004fd36
mov edx, 1
mov ecx, r8d
mov r8, qword [rsp + 0x1b8]
mov eax, edx
shl eax, cl
mov ecx, esi
shl edx, cl
test r9, r9
jne 0x14004fd21
mov rcx, qword [r12 + 0x28]
mov r9, rdi
mov dword [rsp + 0x20], edx
mov edx, eax
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
jmp 0x14004fd31
mov qword [rsp + 0x28], rdi
lea rcx, str.warning:_alignment__u_of_symbol___s_in__pB_is_smaller_than__u_in__pB
mov dword [rsp + 0x20], eax
call fcn.140004d12
mov rax, qword [r14 + 8]
test rax, rax
je 0x14004fd9f
cmp dword [r14 + 0x18], 0
je 0x14004fd9f
cmp byte [rsp + 0x90], 0
mov r8, qword [r12 + 0x50]
jne 0x14004fd5c
test r8, r8
je 0x14004fd96
jmp 0x14004fd9f
test r8, r8
je 0x14004fd96
cmp rax, r8
je 0x14004fd96
cmp byte [rsp + 0x198], 0
jne 0x14004fd96
mov qword [rsp + 0x28], r15
mov r9, qword [rsp + 0x1c8]
lea rcx, str.warning:_size_of_symbol___s_changed_from__llu_in__pB_to__llu_in__pB
mov qword [rsp + 0x20], rax
mov rdx, qword [rsp + 0x1b8]
call fcn.140004d12
mov rax, qword [r14 + 8]
mov qword [r12 + 0x50], rax
mov cl, byte [r12 + 0x18]
cmp cl, 5
jne 0x14004fdb3
mov rax, qword [r12 + 0x30]
mov qword [r12 + 0x50], rax
mov al, byte [r14 + 0x14]
and al, 0xf
je 0x14004fe32
cmp dword [rsp + 0x17c], 0
mov dl, byte [r12 + 0x60]
jne 0x14004fdd4
cmp byte [rsp + 0x90], 0
jne 0x14004fde7
cmp byte [rsp + 0x19a], 0
je 0x14004fde3
cmp cl, 5
je 0x14004fde7
test dl, dl
jne 0x14004fe32
cmp al, 0xa
jne 0x14004fdf7
mov esi, 2
test byte [r15 + 0x40], 0x40
jne 0x14004fdfa
movzx esi, al
movzx r8d, dl
cmp r8d, esi
je 0x14004fe32
test dl, dl
je 0x14004fe2d
cmp byte [rsp + 0x199], 0
jne 0x14004fe2d
mov qword [rsp + 0x20], r15
mov rdx, qword [rsp + 0x1b8]
mov r9d, esi
lea rcx, str.warning:_type_of_symbol___s_changed_from__d_to__d_in__pB
call fcn.140004d12
mov byte [r12 + 0x60], sil
mov eax, dword [rsp + 0x188]
movzx r8d, byte [r14 + 0x15]
mov rdx, r12
mov rcx, qword [r15 + 8]
mov r9, qword [rsp + 0x1b0]
mov dword [rsp + 0x28], eax
movzx eax, byte [rsp + 0x90]
mov dword [rsp + 0x20], eax
call fcn.140049aa5
cmp byte [rsp + 0x90], 0
je 0x14004fe88
mov rax, qword [rsp + 0x1b0]
test byte [rax + 0x25], 0x20
je 0x14004fe88
mov al, byte [r13]
and eax, 3
cmp al, 2
mov al, 0
cmovne ebp, eax
xor eax, eax
test byte [r15 + 0x42], 1
cmovne ebp, eax
cmp byte [rsp + 0x90], 0
je 0x14004ff49
mov al, byte [r14 + 0x16]
mov dl, byte [r12 + 0x65]
mov byte [r12 + 0x62], al
mov eax, dword [rsp + 0x1a0]
and edx, 0xfffffff7
shr eax, 0x17
and eax, 1
shl eax, 3
or eax, edx
mov byte [r12 + 0x65], al
cmp byte [rsp + 0xa4], 0
jne 0x14004ff49
mov rcx, qword [rsp + 0x1b8]
mov edx, 0x40
call sub.msvcrt.dll_strchr
test rax, rax
je 0x14004ff49
cmp byte [rax + 1], 0x40
je 0x14004ff49
cmp qword [rsp + 0xa8], 0
jne 0x14004ff27
mov rax, qword [rsp + 0x170]
sub rax, r14
sar rax, 5
lea rcx, [rax*8 + 8]
call fcn.1400073d6
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x14005094d
mov rsi, qword [rsp + 0x110]
mov rax, qword [rsp + 0xa8]
mov qword [rax + rsi*8], r12
mov rax, rsi
inc rax
mov qword [rsp + 0x110], rax
mov eax, dword [r12 + 0x3c]
test bpl, bpl
je 0x14004ff96
inc eax
jne 0x14004ff9a
mov rdx, r12
mov rcx, r13
call fcn.14004b30a
mov ebp, eax
test al, al
je 0x14005094d
test byte [r12 + 0x65], 0x40
je 0x14004ffc5
mov rcx, r12
call fcn.140046814
cmp dword [rax + 0x3c], 0xffffffff
mov rdx, rax
jne 0x14004ffc5
mov rcx, r13
call fcn.14004b30a
test al, al
jne 0x14004ffc5
jmp 0x14005094d
inc eax
je 0x14004ffc3
mov al, byte [r12 + 0x61]
and eax, 3
dec eax
cmp eax, 1
ja 0x14004ffc5
mov rax, qword [rsp + 0x88]
mov r8d, 1
mov rdx, r12
mov rcx, r13
call qword [rax + 0x1d8]
xor ebp, ebp
cmp byte [rsp + 0x13f], 0
jne 0x1400500ea
mov al, byte [rsp + 0x90]
and al, byte [rsp + 0x19b]
je 0x14004e9a8
cmp byte [r12 + 0x18], 6
je 0x14004e9a8
test bpl, bpl
je 0x140050000
test byte [r12 + 0x63], 0x10
jne 0x140050060
mov rax, qword [rsp + 0x1c8]
test rax, rax
je 0x140050022
test byte [rax + 0x42], 1
je 0x140050022
test byte [r12 + 0x63], 0x20
je 0x140050022
test byte [r13 + 1], 2
je 0x140050060
test byte [r12 + 0x65], 2
je 0x14004e9a8
mov rax, qword [r15 + 0x108]
test byte [rax + 0xd4c], 0x40
je 0x14004e9a8
mov rdx, qword [rbx + 0xb0]
mov rcx, qword [rax + 0x310]
xor r8d, r8d
call fcn.140046da9
test al, al
jne 0x14004e9a8
mov rax, qword [r15 + 0x108]
mov rsi, qword [rsp + 0x1c8]
lea rcx, [0x1400b7ae4]
mov r9, qword [r12 + 8]
mov rdx, qword [rax + 0x310]
mov rax, qword [r13 + 0x20]
mov r8, rsi
call qword [rax + 0x68]
test rsi, rsi
mov rdx, qword [r15 + 0x108]
je 0x1400500cf
mov eax, dword [rdx + 0xd4c]
shr ax, 6
and eax, 0xf
cmp al, 7
jbe 0x1400500cf
mov r8, qword [rsp + 0x1b8]
lea rcx, str._pB:_undefined_reference_to_symbol__s
mov rdx, rsi
call fcn.140004d12
mov ecx, 0xb
call fcn.140004e84
jmp 0x14005094d
and word [rdx + 0xd4c], 0xffbf
mov rcx, r15
mov rdx, r13
call fcn.14004ae0f
test al, al
je 0x14004ddc3
mov al, byte [rsp + 0x18c]
mov byte [rsp + 0x13f], al
jmp 0x14004e9a8
xor eax, eax
mov qword [rsp + 0x110], rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xe0], rax
test byte [r13 + 1], 1
jne 0x140050151
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x98]
call sub.msvcrt.dll_free
mov rax, qword [r15 + 0x108]
test byte [rax + 0xd4c], 0x40
je 0x1400503ff
jmp 0x14005027b
mov al, byte [r13]
and eax, 3
cmp al, 2
je 0x14005011e
test byte [r15 + 0x42], 1
jne 0x14005011e
cmp dword [rsp + 0x138], 0
jne 0x14005011e
cmp qword [rsp + 0xc8], 0
je 0x14005011e
mov rax, qword [rsp + 0x88]
mov esi, 0x20
mov rbp, qword [r15 + 0x88]
mov rax, qword [rax + 0x340]
cmp byte [rax + 0xa], 0x20
mov eax, 8
cmove esi, eax
mov rax, qword [r15 + 0x108]
mov rdi, qword [rax + 0x300]
test rbp, rbp
je 0x14005011e
mov eax, dword [rbp + 0x24]
test al, 4
je 0x140050272
cmp dword [rbp + 0x78], 0
je 0x140050272
bt eax, 0xf
jb 0x140050272
test byte [r13 + 1], 0x40
je 0x1400501e6
bt eax, 0xd
jb 0x140050272
mov rcx, r13
call fcn.14007d20c
mov rdx, r13
xor r9d, r9d
mov r8, rbp
movzx eax, al
mov rcx, r15
mov dword [rsp + 0x28], eax
xor eax, eax
mov qword [rsp + 0x20], rax
call fcn.14004cd71
mov rdx, rax
test rax, rax
je 0x14005094d
mov r8d, dword [rbp + 0x78]
mov r9, rax
imul r8, r8, 0x18
add r8, rax
cmp r9, r8
jae 0x14005025a
mov rax, qword [r9 + 8]
mov ecx, esi
shr rax, cl
mov rcx, qword [rsp + 0xd8]
mov eax, eax
cmp rax, rcx
jb 0x140050254
sub rax, rcx
mov rax, qword [rdi + rax*8]
test rax, rax
je 0x140050254
or byte [rax + 0x19], 1
add r9, 0x18
jmp 0x140050227
mov rax, qword [rbp + 0xd0]
cmp rdx, qword [rax + 0x98]
je 0x140050272
mov rcx, rdx
call sub.msvcrt.dll_free
mov rbp, qword [rbp + 8]
jmp 0x1400501ad
mov rdx, qword [rax + 0x300]
mov rdi, qword [rsp + 0xc0]
xor eax, eax
mov rsi, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xc8]
lea rbp, [rdi + rsi]
shl rcx, 3
mov rdi, rdx
mov rsi, qword [rsp + 0xc0]
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x108]
mov qword [rbx], rax
mov eax, dword [rsp + 0x16c]
mov dword [rbx + 0x18], eax
mov eax, dword [rsp + 0x178]
mov dword [rbx + 0x1c], eax
mov rax, qword [rsp + 0x158]
rep movsb byte [rdi], byte [rsi]
mov qword [rbx + 0x28], rax
mov rax, qword [rsp + 0x160]
mov rcx, qword [rbx + 0x90]
mov qword [rbx + 0x30], rax
test rcx, rcx
je 0x140050313
mov rdx, qword [rsp + 0xb0]
call fcn.14005a717
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
xor r9d, r9d
cmp r9d, dword [rbx + 0x18]
jae 0x1400503b2
mov rdx, qword [rbx]
mov eax, r9d
mov rax, qword [rdx + rax*8]
test rax, rax
je 0x1400503aa
cmp byte [rax + 0x18], 7
mov rdx, rax
jne 0x140050349
mov rdx, qword [rax + 0x28]
mov dl, byte [rdx + 0x19]
mov rsi, rbp
mov ecx, dword [rbx + 0x20]
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
mov r8, rax
shr dl, 1
mov ecx, dword [rbx + 0x20]
and edx, 1
add rbp, rcx
cmp byte [rax + 0x18], 7
jne 0x14005037d
mov r8, qword [rax + 0x28]
mov rsi, rbp
mov rdi, r8
rep movsb byte [rdi], byte [rsi]
mov ecx, dword [rbx + 0x20]
add rbp, rcx
cmp byte [r8 + 0x18], 5
jne 0x140050393
movups xmm1, xmmword [rbp]
mov rcx, qword [r8 + 0x28]
add rbp, 0x10
movups xmmword [rcx], xmm1
mov cl, byte [r8 + 0x19]
and edx, 1
add edx, edx
and ecx, 0xfffffffd
or edx, ecx
mov byte [r8 + 0x19], dl
mov rax, qword [rax]
jmp 0x140050337
inc r9d
jmp 0x140050323
mov rax, qword [rsp + 0x88]
mov r8d, 1
mov rdx, r13
mov rcx, r15
call qword [rax + 0x110]
test al, al
je 0x140050920
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rsp + 0x148]
call fcn.140093ebe
mov rcx, qword [rsp + 0xa8]
jmp 0x140050d8a
cmp qword [rsp + 0xc0], 0
je 0x140050439
mov rax, qword [rsp + 0x88]
mov r8d, 2
mov rdx, r13
mov rcx, r15
call qword [rax + 0x110]
test al, al
je 0x14005092b
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
mov al, byte [r13]
and eax, 3
cmp al, 2
je 0x1400505af
xor ebp, ebp
cmp qword [rsp + 0xa8], 0
je 0x1400505af
mov rax, qword [rsp + 0x110]
cmp rbp, rax
je 0x1400505a2
mov rax, qword [rsp + 0xa8]
mov edx, 0x40
mov r12, qword [rax + rbp*8]
mov rsi, qword [r12 + 8]
mov rcx, rsi
call sub.msvcrt.dll_strchr
mov rdx, rax
test rax, rax
je 0x14005059a
mov al, byte [r12 + 0x18]
sub eax, 3
cmp al, 1
ja 0x14005059a
sub rdx, rsi
lea rcx, [rdx + 1]
mov r14, rdx
call fcn.1400073d6
mov qword [rsp + 0x98], rax
test rax, rax
je 0x140050938
mov rsi, qword [r12 + 8]
mov rdi, rax
mov rcx, r14
xor r9d, r9d
rep movsb byte [rdi], byte [rsi]
mov byte [rax + r14], 0
xor r14d, r14d
xor r8d, r8d
mov dword [rsp + 0x20], r14d
mov rdx, rax
mov rcx, rbx
call fcn.14007aa81
mov rsi, rax
test rax, rax
je 0x14005058d
mov al, byte [r12 + 0x18]
cmp byte [rsi + 0x18], al
jne 0x14005058d
mov rax, qword [r12 + 0x30]
cmp qword [rsi + 0x30], rax
jne 0x14005058d
mov rax, qword [r12 + 0x28]
cmp qword [rsi + 0x28], rax
jne 0x14005058d
mov rax, qword [rsp + 0x88]
mov r8d, 1
mov rdx, rsi
mov rcx, r13
call qword [rax + 0x1d8]
mov rdx, r12
mov byte [rsi + 0x18], 6
mov r8, rsi
mov rax, qword [rsp + 0x88]
mov qword [rsi + 0x28], r12
mov rcx, r13
call qword [rax + 0x1d0]
mov rax, qword [r15 + 0x108]
xor edx, edx
mov rax, qword [rax + 0x300]
test rax, rax
je 0x14005058d
cmp qword [rsp + 0xc8], rdx
je 0x14005058d
lea rcx, [rax + 8]
cmp rsi, qword [rax]
jne 0x140050585
mov qword [rax], r12
jmp 0x14005058d
inc rdx
mov rax, rcx
jmp 0x14005056d
mov rcx, qword [rsp + 0x98]
call sub.msvcrt.dll_free
inc rbp
jmp 0x140050459
mov rcx, qword [rsp + 0xa8]
call sub.msvcrt.dll_free
cmp qword [rsp + 0xe0], 0
je 0x140050793
mov rbp, qword [rsp + 0xc8]
shl rbp, 3
mov rcx, rbp
call fcn.1400073d6
mov rsi, rax
test rax, rax
je 0x14004ddc3
mov rax, qword [r15 + 0x108]
mov r14, rsi
xor edi, edi
mov r12, qword [rax + 0x300]
lea rax, [r12 + rbp]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
cmp r12, rax
jae 0x14005063f
mov rbp, qword [r12]
test rbp, rbp
je 0x140050639
cmp byte [rbp + 0x18], 3
jne 0x140050639
mov rax, qword [rsp + 0x88]
movzx ecx, byte [rbp + 0x60]
call qword [rax + 0x308]
test al, al
jne 0x140050639
mov qword [r14], rbp
inc rdi
add r14, 8
add r12, 8
jmp 0x1400505fd
lea r9, [0x140046896]
mov r8d, 8
mov rdx, rdi
mov rcx, rsi
call sub.msvcrt.dll_qsort
mov rbp, qword [rsp + 0xe0]
xor r12d, r12d
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x70], r12
mov qword [rsp + 0xe0], rax
mov al, byte [rbp + 0x18]
sub eax, 3
cmp al, 1
jbe 0x140050694
cmp qword [rsp + 0xe0], 0
jne 0x140050657
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x140050793
mov r8, qword [rbp + 0x28]
mov r9, qword [rbp + 0x30]
mov rdx, rdi
xor ecx, ecx
cmp rcx, rdx
je 0x14005067c
lea rax, [rcx + rdx]
shr rax, 1
mov r10, qword [rsi + rax*8]
cmp r9, qword [r10 + 0x30]
js 0x1400506d0
jne 0x1400506c9
mov r10, qword [r10 + 0x28]
mov r11d, dword [r10 + 0x18]
cmp dword [r8 + 0x18], r11d
js 0x1400506d0
je 0x1400506e5
lea rcx, [rax + 1]
mov rax, rdx
mov rdx, rax
jmp 0x1400506a1
mov r10, qword [rsi + rax*8]
cmp r8, qword [r10 + 0x28]
jne 0x14005070e
cmp r9, qword [r10 + 0x30]
jne 0x14005070e
inc rax
cmp rdx, rax
jne 0x1400506d5
jmp 0x14005070e
mov r12, qword [rsi + rax*8 - 8]
cmp r8, qword [r12 + 0x28]
jne 0x14005067c
cmp r9, qword [r12 + 0x30]
jne 0x14005067c
dec rax
cmp rbp, r12
jne 0x140050718
cmp rcx, rax
jne 0x1400506ef
jmp 0x14005067c
or byte [rbp + 0x65], 0x40
mov rdx, r12
mov qword [rbp + 0x70], r12
cmp qword [r12 + 0x70], 0
je 0x14005073a
mov rax, r12
mov rdx, rax
mov rax, qword [rax + 0x70]
cmp r12, rax
jne 0x14005072e
cmp dword [rbp + 0x3c], 0xffffffff
mov eax, dword [r12 + 0x3c]
mov qword [rdx + 0x70], rbp
je 0x140050768
inc eax
jne 0x14005067c
mov rdx, r12
mov rcx, r13
call fcn.14004b30a
test al, al
jne 0x140050768
mov rcx, rsi
jmp 0x140050ac4
cmp dword [r12 + 0x3c], 0xffffffff
je 0x14005067c
cmp dword [rbp + 0x3c], 0xffffffff
jne 0x14005067c
mov rdx, rbp
mov rcx, r13
call fcn.14004b30a
test al, al
jne 0x14005067c
jmp 0x140050760
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x108]
test rax, rax
jne 0x1400507b7
cmp byte [rsp + 0xa4], 0
jne 0x1400508cb
jmp 0x1400507c8
mov rdx, r13
mov rcx, r15
call rax
test al, al
jne 0x1400507a7
jmp 0x14004ddc3
test byte [r13 + 5], 1
jne 0x140050dd6
cmp dword [rbx + 0x40], 1
jne 0x140050dd6
test byte [r13 + 1], 0x40
jne 0x140050dd6
lea rdx, [0x1400b7b0f]
mov rcx, r15
call fcn.140009047
mov rdi, rax
test rax, rax
je 0x140050dd6
xor esi, esi
mov rax, qword [0x1400e06b0]
lea r12, [0x1400b7b18]
mov qword [rsp + 0x1f0], rsi
mov rsi, qword [r15 + 0x88]
lea rbp, [rax + 0x230]
test rsi, rsi
je 0x140050dd6
mov r13, qword [rsi]
mov rdx, r12
mov rcx, r13
call fcn.1400481fa
test al, al
je 0x1400508c2
mov al, byte [r13 + 5]
test al, al
je 0x140050862
cmp al, 0x2e
jne 0x1400508c2
movzx edx, byte [r13 + 6]
mov rax, qword [0x1400e0770]
test byte [rax + rdx*2], 4
je 0x1400508c2
test byte [rsi + 0x26], 0x80
jne 0x1400508c2
cmp qword [rsi + 0x60], rbp
je 0x1400508c2
mov r13, qword [rsi + 0xd0]
mov r9, rdi
mov r8, rsi
mov rcx, r15
lea rax, [rsp + 0x1f0]
lea rdx, [rbx + 0xe8]
mov qword [rsp + 0x28], rax
lea rax, [r13 + 0xe0]
mov qword [rsp + 0x20], rax
call fcn.14007f288
test al, al
je 0x14004ddc3
cmp qword [r13 + 0xe0], 0
je 0x1400508c2
mov eax, dword [rsi + 0x28]
and ax, 0xfc7f
or al, 0x80
mov word [rsi + 0x28], ax
mov rsi, qword [rsi + 8]
jmp 0x140050829
cmp byte [rsp + 0x13f], 0
je 0x140050da0
mov edx, 0x10
mov rcx, r15
call fcn.1400082c0
test rax, rax
je 0x14004ddc3
mov rdx, qword [rbx + 0x190]
mov qword [rax + 8], r15
mov qword [rax], rdx
mov qword [rbx + 0x190], rax
jmp 0x140050dd6
xor ebx, ebx
mov qword [rsp + 0xb0], rbx
xor r11d, r11d
mov qword [rsp + 0xa8], r11
jmp 0x14005094d
xor r10d, r10d
mov qword [rsp + 0xb0], r10
xor r9d, r9d
mov qword [rsp + 0x98], r9
jmp 0x140050943
xor r8d, r8d
mov qword [rsp + 0xc0], r8
xor ecx, ecx
mov qword [rsp + 0xb8], rcx
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0xa8]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x98]
jmp 0x140050ac4
test byte [rcx + 0x45], 8
jne 0x1400509ae
xor edx, edx
call fcn.1400759b5
mov ecx, 8
test rax, rax
jne 0x140050d96
jmp 0x140050dd6
mov rax, qword [rcx + 0x108]
mov eax, dword [rax + 0x20]
test eax, eax
je 0x140050dd6
mov ebx, eax
mov rcx, rbx
call fcn.1400074aa
mov qword [rsp + 0x88], rax
test rax, rax
je 0x14004ddc3
mov rax, qword [r15 + 0x108]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x98], rax
mov rax, qword [r15 + 8]
mov rax, qword [rax + 0x380]
mov rax, qword [rax + 0x80]
mov qword [rsp + 0xb8], rax
mov rax, rbx
mov rbx, qword [rsp + 0x98]
shl rax, 4
add rax, rbx
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0xc8], rax
xor edx, edx
mov byte [rsp + 0xa8], 0
mov rsi, qword [rsp + 0x98]
mov dword [rsp + 0xa4], edx
mov qword [rsp + 0xb0], 0xffffffffffffffff
jmp 0x140050a69
test rax, rax
jne 0x140050ace
inc dword [rsp + 0xa4]
add rsi, 0x10
mov rax, qword [rsp + 0xc0]
cmp rsi, rax
jae 0x140050d74
mov edi, dword [rsp + 0xa4]
mov rax, qword [rsp + 0x88]
add rdi, rax
cmp byte [rdi], 0
jne 0x140050a5e
mov rax, qword [rsp + 0xb0]
cmp qword [rsi + 8], rax
je 0x140050c94
mov r8, qword [rsi]
mov rax, qword [rsp + 0xb8]
mov rdx, r13
mov rcx, r15
call rax
cmp rax, 0xffffffffffffffff
jne 0x140050a59
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
jmp 0x14004ddc3
mov dl, byte [rax + 0x18]
cmp dl, 1
jne 0x140050aed
mov rdx, qword [r13 + 0x28]
cmp dword [rdx + 0x40], 1
jne 0x140050c9c
cmp dword [rax + 0x38], 0xfffffffd
jmp 0x140050c84
cmp dl, 5
jne 0x140050c8b
mov rdx, qword [rsi + 8]
xor r8d, r8d
mov rcx, r15
call fcn.140075747
mov r14, rax
test rax, rax
je 0x140050a5e
mov edx, 1
mov rcx, rax
call fcn.140006a33
test al, al
je 0x140050a5e
mov al, byte [r14 + 0x46]
and eax, 6
cmp al, 2
jne 0x140050b3e
mov r14, qword [r14 + 0x48]
mov rax, qword [r14 + 0x108]
jmp 0x140050b6c
test al, al
jne 0x140050b4e
mov rcx, r14
call fcn.140074bbb
test al, al
jne 0x140050b31
mov rax, qword [r14 + 0x108]
test byte [r14 + 0x40], 0x40
je 0x140050b6c
cmp dword [rax + 0xd3c], 0
lea r12, [rax + 0x150]
jne 0x140050b70
lea r12, [rax + 0x60]
mov rax, qword [r14 + 8]
xor edx, edx
xor r9d, r9d
mov rax, qword [rax + 0x380]
mov rax, qword [rax + 0x340]
movzx ecx, byte [rax + 5]
mov rax, qword [r12 + 0x20]
div rcx
mov rbx, rax
mov rax, qword [r14 + 0x108]
test byte [rax + 0xd4e], 1
jne 0x140050bae
mov r9d, dword [r12 + 0x2c]
sub rbx, r9
test rbx, rbx
je 0x140050a5e
xor eax, eax
mov r8, rbx
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.1400389cf
mov qword [rsp + 0x90], rax
test rax, rax
je 0x140050a5e
shl rbx, 5
mov rbp, rax
add rbx, rax
cmp rbp, rbx
jae 0x140050c0f
mov edx, dword [r12 + 0x28]
mov r8d, dword [rbp + 0x10]
mov rcx, r14
call fcn.1400388e9
mov rcx, rax
test rax, rax
jne 0x140050c13
xor ebx, ebx
jmp 0x140050c75
mov rdx, qword [rsi]
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x140050c6c
mov cl, byte [rbp + 0x14]
mov eax, ecx
shr al, 4
cmp al, 1
je 0x140050c2f
cmp al, 9
jbe 0x140050c0f
mov rax, qword [r14 + 8]
and ecx, 0xf
mov rbx, qword [rax + 0x380]
call qword [rbx + 0x308]
test al, al
jne 0x140050c0f
cmp dword [rbp + 0x18], 0
je 0x140050c0f
mov rcx, rbp
call qword [rbx + 0x2d8]
test al, al
jne 0x140050c0f
mov eax, dword [rbp + 0x18]
add eax, 0x100
cmp eax, 0xf0
seta bl
jmp 0x140050c75
add rbp, 0x20
jmp 0x140050bf1
mov rcx, qword [rsp + 0x90]
call sub.msvcrt.dll_free
test bl, bl
jne 0x140050c9c
jmp 0x140050a5e
cmp dl, 2
je 0x140050a5e
mov byte [rdi], 1
jmp 0x140050a5e
mov rdx, qword [rsi + 8]
mov rcx, r15
mov r8, r13
call fcn.140075747
mov qword [rsp + 0x1f0], rax
mov rcx, rax
test rax, rax
je 0x140050abc
mov edx, 1
call fcn.140006a33
test al, al
je 0x140050abc
mov rax, qword [r13 + 0x28]
mov r8, qword [rsi]
mov rcx, r13
mov r9, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x1f0]
mov rbx, qword [rax + 0x30]
mov rax, qword [r13 + 0x20]
call qword [rax]
test al, al
je 0x140050a5e
mov rcx, qword [rsp + 0x1f0]
mov rdx, r13
mov rax, qword [rcx + 8]
call qword [rax + 0x2d0]
test al, al
je 0x140050abc
mov rdx, qword [r13 + 0x28]
cmp rbx, qword [rdx + 0x30]
mov bl, byte [rsp + 0xa8]
mov edx, dword [rsp + 0xa4]
cmovne ebx, eax
mov eax, ebx
mov byte [rdi], 1
test edx, edx
je 0x140050d5c
lea ecx, [rdx - 1]
mov rbx, qword [rsp + 0x98]
mov r11, qword [rsi + 8]
dec rdi
mov rdx, rcx
shl rcx, 4
cmp qword [rbx + rcx + 8], r11
je 0x140050d35
mov rbx, qword [rsi + 8]
mov byte [rsp + 0xa8], al
mov qword [rsp + 0xb0], rbx
jmp 0x140050a5e
cmp byte [rsp + 0xa8], 0
jne 0x140050a32
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
jmp 0x140050dd6
mov ecx, 3
call fcn.140004e84
jmp 0x14004ddc3
mov r8, qword [r15 + 0x108]
mov edx, dword [r8 + 0xd4c]
mov ecx, edx
shr cx, 6
mov eax, ecx
and eax, 0xf
and cl, 2
je 0x140050dd6
or eax, 8
and dx, 0xfc3f
and eax, 0xf
shl eax, 6
or edx, eax
mov word [r8 + 0xd4c], dx
mov al, 1
jmp 0x140050def
xor ebp, ebp
cmp byte [rsp + 0x90], 0
jne 0x14004f481
jmp 0x14004f467
add rsp, 0x208
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret