Function at 0x495560
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, 0xc8
mov r10, qword [rsp + 0x170]
mov rax, qword [rsp + 0x130]
mov r11, qword [rsp + 0x168]
mov r12, qword [rsp + 0x180]
mov rsi, rcx
mov rcx, qword [rsp + 0x138]
mov qword [rsp + 0x58], r10
mov rdi, r8
mov r10, qword [rsp + 0x178]
mov qword [rsp + 0x60], rax
mov rbx, r9
mov r14, qword [rsp + 0x140]
mov qword [rsp + 0x48], rdx
mov rbp, qword [rsp + 0x148]
mov qword [rsp + 0x98], r11
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rsp + 0x158]
mov qword [rsp + 0x68], r10
mov r10d, dword [r12]
mov r13, qword [rsp + 0x150]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x160]
mov dword [rsp + 0xac], r10d
mov dword [rcx], 0
mov qword [rsp + 0x90], rcx
mov rcx, qword [rax]
mov dword [r11], 0
movzx eax, byte [r9 + 0x14]
mov qword [rsp + 0x40], rcx
shr al, 4
mov byte [rsp + 0x80], al
mov rax, qword [0x005ab640]
add rax, 0x118
cmp rcx, rax
je 0x495a70
mov rcx, qword [rdx + 0x28]
xor r9d, r9d
mov r8d, 1
mov rdx, rdi
mov dword [rsp + 0x20], 0
call fcn.004ca5c0
mov r15, rax
test r15, r15
je 0x495a9f
mov rax, qword [rsi + 8]
mov qword [r14], r15
movzx r14d, byte [r15 + 0x5c]
mov rax, qword [rax + 0x368]
mov r9d, r14d
and r9d, 6
cmp r9b, 2
mov byte [rsp + 0x78], r9b
mov qword [rsp + 0x50], rax
je 0x495ea4
mov edx, 0x40
mov rcx, rdi
call sub.msvcrt.dll_strrchr
test rax, rax
je 0x495e98
movzx r9d, byte [rsp + 0x78]
test r9b, r9b
jne 0x4956de
cmp rdi, rax
jae 0x496248
cmp byte [rax - 1], 0x40
je 0x496248
or r14d, 6
mov byte [r15 + 0x5c], r14b
cmp byte [rax + 1], 0
lea r8, [rax + 1]
je 0x495ea4
movzx r14d, byte [r15 + 0x18]
mov r9d, dword [r12]
lea eax, [r14 - 6]
cmp al, 1
ja 0x495a10
mov rdi, r15
nop dword [rax]
mov rdi, qword [rdi + 0x28]
movzx r14d, byte [rdi + 0x18]
lea eax, [r14 - 6]
cmp al, 1
jbe 0x495708
test r9d, r9d
jne 0x495a23
cmp r15, rdi
je 0x495a18
test r14b, r14b
je 0x495eb0
movzx eax, byte [rdi + 0x5c]
mov edx, eax
not edx
and edx, 6
je 0x495dc0
movzx edx, byte [r15 + 0x5c]
not edx
and edx, 6
je 0x495dc0
cmp r14b, 4
mov dword [r12], 1
ja 0x495e30
cmp r14b, 2
jbe 0x495a45
mov rax, qword [rdi + 0x28]
mov r14, qword [rax + 0xf0]
mov qword [rsp + 0x78], rax
cmp qword [rbp], 0
je 0x495a5d
movzx eax, byte [rdi + 0x18]
sub eax, 2
test al, 0xfd
sete byte [rsp + 0xa8]
sete al
test r13, r13
movzx eax, al
mov dword [rsp + 0x84], eax
je 0x4957b3
mov dword [r13], eax
mov rcx, qword [rsp + 0x48]
mov r8, rbx
mov rdx, rdi
call fcn.0048f3f0
mov eax, dword [rsi + 0x40]
shr eax, 5
and eax, 0xfffff
mov r13d, eax
and r13d, 0x40
je 0x495802
mov rdx, qword [0x005ab640]
add rdx, 0x118
cmp qword [rsp + 0x40], rdx
je 0x496270
mov r9d, dword [r12]
test r9d, r9d
jne 0x495ed0
or byte [r15 + 0x5c], 0x80
movzx edx, byte [rdi + 0x18]
test dl, dl
je 0x495aa8
cmp byte [rsp + 0x80], 2
sete bpl
test r13d, r13d
setne r9b
cmp rsi, r14
je 0x4961e0
test r14, r14
je 0x496210
mov ecx, dword [r14 + 0x40]
shr ecx, 5
and ecx, 0xfffff
mov r8d, ecx
xor eax, ecx
shr r8d, 6
and r8d, 1
test eax, 0x10000
je 0x49585d
cmp r9b, r8b
jne 0x495f60
movzx eax, r8b
mov dword [rsp + 0x8c], eax
mov rax, qword [0x005ab640]
xor r10d, r10d
mov rcx, qword [rsp + 0x40]
add rax, 0x118
cmp rcx, rax
je 0x495898
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x80], eax
shr eax, 0xc
xor eax, 1
and eax, 1
mov r10d, eax
mov dword [rsp + 0x80], 0
lea eax, [rdx - 1]
cmp al, 1
seta cl
cmp dl, 5
setne al
and ecx, eax
movzx eax, cl
movzx ecx, byte [rbx + 0x14]
mov r12d, eax
mov dword [rsp + 0xb0], eax
and ecx, 0xf
je 0x495907
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0xb4], r10d
movzx ecx, cl
mov byte [rsp + 0x88], r9b
call qword [rax + 0x2c8]
mov r10d, dword [rsp + 0xb4]
movzx r9d, byte [rsp + 0x88]
test eax, eax
setne al
movzx eax, al
mov dword [rsp + 0x80], eax
movzx ecx, byte [rdi + 0x58]
movzx eax, bpl
mov dword [rsp + 0x88], eax
test cl, cl
je 0x495ac8
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0xb8], r10d
mov byte [rsp + 0xb4], r9b
call qword [rax + 0x2c8]
mov r10d, dword [rsp + 0xb8]
movzx r9d, byte [rsp + 0xb4]
test eax, eax
mov r11d, eax
jne 0x495ee0
movzx edx, byte [rdi + 0x58]
movzx eax, byte [rbx + 0x14]
and eax, 0xf
test dl, dl
setne r8b
cmp al, dl
setne cl
test r8b, cl
je 0x495acb
test al, al
je 0x495acb
test r10d, r10d
jne 0x495990
mov rcx, qword [rsp + 0x40]
test byte [rcx + 0x21], 0x10
je 0x495acb
test r12b, r12b
jne 0x49599f
cmp byte [rdi + 0x18], 5
jne 0x495acb
mov r8d, dword [rsp + 0x8c]
test r8d, r8d
jne 0x4959b5
test r9b, r9b
jne 0x4966f3
cmp r15, rdi
je 0x495acb
test r13d, r13d
jne 0x495acb
mov ecx, dword [rsp + 0x8c]
test ecx, ecx
jne 0x496835
test r14, r14
je 0x495f6e
test byte [r14 + 0x42], 0x20
jne 0x495f6e
test byte [rsi + 0x42], 0x20
je 0x495af4
movzx eax, byte [rbx + 0x15]
and al, 3
jne 0x495f80
test r10d, r10d
jne 0x4961bb
jmp 0x495e7e
test r9d, r9d
mov rdi, r15
jne 0x495a23
mov dword [r12], 1
mov rdi, r15
cmp r14b, 4
ja 0x495e30
cmp r14b, 2
ja 0x495771
sub r14d, 1
cmp r14b, 1
ja 0x4966bb
mov qword [rsp + 0x78], 0
cmp qword [rbp], 0
mov r14, qword [rdi + 0x28]
jne 0x49578c
mov qword [rbp], r14
jmp 0x49578c
mov rdx, qword [rsp + 0x48]
mov r9d, 1
mov rcx, rsi
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
call fcn.004ca610
mov r15, rax
test r15, r15
jne 0x495674
xor eax, eax
jmp 0x495ab1
and byte [rdi + 0x5c], 0xfe
mov eax, 1
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r11d, r11d
test r14, r14
je 0x495b60
test byte [r14 + 0x42], 0x20
jne 0x495b60
test byte [rsi + 0x42], 0x20
jne 0x495b60
movzx eax, byte [rbx + 0x14]
movzx edx, byte [rdi + 0x58]
and eax, 0xf
cmp al, dl
je 0x495b60
cmp al, 6
je 0x496634
cmp dl, 6
jne 0x495b60
test dword [rsp + 0xb0], r10d
mov rdx, qword [rdi + 8]
jne 0x4967a0
or r10d, dword [rsp + 0xb0]
je 0x49681e
mov ecx, dword [rsp + 0xb0]
test ecx, ecx
je 0x4967fd
mov r9, qword [rsp + 0x78]
mov qword [rsp + 0x20], rsi
mov r8, r14
lea rcx, str._s:_TLS_definition_in__pB_section__pA_mismatches_non_TLS_reference_in__pB
call fcn.0043f660
mov ecx, 0x11
call fcn.0043f820
xor eax, eax
jmp 0x495ab1
test r13d, r13d
je 0x495e68
movzx eax, byte [rdi + 0x59]
and eax, 3
jne 0x495f00
mov edx, r10d
and edx, 1
test r12b, r12b
je 0x49689a
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x84], 0
test dword [rsp + 0x80], r11d
je 0x495bac
mov rcx, qword [rsp + 0x58]
mov dword [rcx], 1
test eax, eax
jne 0x4960b8
test r10d, r10d
jne 0x496000
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
test eax, eax
jne 0x496019
cmp byte [rdi + 0x18], 1
je 0x4960c3
test dl, dl
je 0x4960a0
mov eax, dword [rsp + 0x88]
test eax, eax
je 0x496028
mov dword [rsp + 0xa8], 0
mov ebp, 1
movzx eax, r9b
movzx edx, byte [rsp + 0x8c]
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0x50]
and dl, r12b
mov rax, qword [rax + 0x2b8]
mov byte [rsp + 0xb4], dl
je 0x4960d8
cmp byte [rdi + 0x18], 3
je 0x496464
mov dword [rsp + 0x8c], 0
test rax, rax
je 0x4963f8
mov rdx, qword [rsp + 0x78]
mov r9d, r10d
mov dword [rsp + 0x40], r10d
mov rcx, rdi
mov dword [rsp + 0xac], r11d
mov r8, qword [rsp + 0x60]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 1
mov qword [rsp + 0x30], rdx
mov rdx, rbx
call rax
mov r10d, dword [rsp + 0x40]
test eax, eax
mov r11d, dword [rsp + 0xac]
je 0x495a9f
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0xa8]
mov edx, dword [rsp + 0x8c]
and eax, edx
mov dword [rsp + 0xac], eax
je 0x4968ac
mov rdx, qword [rbx + 8]
cmp rdx, qword [rdi + 0x50]
je 0x496068
mov rcx, qword [rsp + 0x48]
mov r9d, 5
mov r8, rsi
mov dword [rsp + 0xb8], r11d
mov dword [rsp + 0x8c], r10d
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x20], rdx
mov rdx, rdi
call qword [rax + 0x10]
mov rax, qword [rbx + 8]
cmp qword [rdi + 0x50], rax
mov r10d, dword [rsp + 0x8c]
mov r11d, dword [rsp + 0xb8]
jae 0x495d16
mov qword [rdi + 0x50], rax
mov rax, qword [rsp + 0x68]
test bpl, bpl
mov dword [rax], 1
jne 0x496071
cmp byte [rdi + 0x18], 5
je 0x4965c7
test r10b, 1
je 0x496326
test r12b, r12b
je 0x496326
mov r10d, dword [rsp + 0x88]
test r10d, r10d
jne 0x49628c
test r13d, r13d
jne 0x495aac
cmp byte [rsp + 0xb4], 0
je 0x496521
test byte [rdi + 0x5b], 8
je 0x496521
mov rax, qword [rdi + 0x28]
mov byte [rdi + 0x18], 1
mov rbx, qword [rsp + 0x68]
mov rax, qword [rax + 0xf0]
mov qword [rdi + 0x28], rax
mov dword [rbx], 1
mov rbx, qword [rsp + 0x40]
test byte [rbx + 0x21], 0x10
je 0x4963dc
test r11d, r11d
je 0x4963d1
and dword [rdi + 0x58], 0xf7ffff00
jmp 0x4963d1
shr al, 1
and eax, 3
cmp al, 1
jbe 0x496585
mov rcx, qword [rdi + 8]
mov edx, 0x40
mov qword [rsp + 0x78], r8
mov dword [rsp + 0x84], r9d
call sub.msvcrt.dll_strrchr
mov r8, qword [rsp + 0x78]
mov r9d, 1
lea rcx, [rax + 1]
cmp rcx, r8
je 0x495e1a
test r8, r8
mov r9d, dword [rsp + 0x84]
je 0x495e1a
mov rdx, r8
call sub.msvcrt.dll_strcmp
xor r9d, r9d
test eax, eax
sete r9b
cmp r14b, 4
mov dword [r12], r9d
jbe 0x495767
nop dword [rax + rax]
cmp r14b, 5
jne 0x4966bb
mov rax, qword [rdi + 0x28]
mov rdx, qword [rax + 8]
mov r14, qword [rdx + 0xf0]
mov qword [rsp + 0x78], rdx
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x495781
mov eax, dword [rax]
mov dword [rdx], eax
jmp 0x495781
movzx eax, byte [rbx + 0x15]
and eax, 3
jne 0x495f80
test r10d, r10d
jne 0x4961b0
or bpl, byte [rsp + 0xa8]
xor edx, edx
movzx eax, bpl
jmp 0x495b97
and r14d, 0xfffffff9
or r14d, 2
mov byte [r15 + 0x5c], r14b
xor r8d, r8d
jmp 0x4956ec
mov dword [r12], 1
xor r14d, r14d
mov qword [rsp + 0x78], 0
jmp 0x495781
or byte [rdi + 0x5c], 0x80
jmp 0x4957fd
cmp dword [rsp + 0x80], 1
mov r11d, 1
je 0x495acb
jmp 0x495955
mov rdx, qword [0x005ab640]
add rdx, 0x118
cmp qword [rsp + 0x40], rdx
je 0x495b76
mov rsi, qword [rsp + 0x90]
mov dword [rsi], 1
or byte [rdi + 0x5b], 4
or byte [r15 + 0x5b], 4
cmp al, 3
jne 0x495aac
mov rcx, qword [rsp + 0x48]
mov rdx, rdi
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.00494c10
or byte [rdi + 0x19], 2
or byte [r15 + 0x19], 2
jmp 0x49585d
movzx eax, byte [rbx + 0x15]
and eax, 3
je 0x495a00
nop dword [rax + rax]
movzx edx, byte [rdi + 0x5b]
test dl, 8
je 0x495e75
cmp byte [r15 + 0x18], 6
je 0x496706
mov rcx, qword [rdi + 0x20]
mov edx, 1
test rcx, rcx
je 0x496787
cmp al, 3
mov byte [rdi + 0x18], dl
mov edx, 1
mov qword [rdi + 0x28], rsi
je 0x495fd9
mov rax, qword [rsp + 0x50]
mov rdx, rdi
mov r8d, 1
mov rcx, qword [rsp + 0x48]
call qword [rax + 0x1b8]
xor edx, edx
and byte [rdi + 0x5c], 0xf7
mov eax, dword [rdi + 0x58]
shl edx, 0x1a
mov qword [rdi + 0x50], 0
and eax, 0xf3ffff00
or eax, edx
mov dword [rdi + 0x58], eax
jmp 0x495aac
cmp byte [rdi + 0x18], 1
je 0x4960b8
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
test eax, eax
je 0x495bd6
mov rax, qword [rsp + 0x68]
test dl, dl
mov dword [rax], 1
je 0x4960a0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x20]
mov dword [rsp + 0xa8], eax
and eax, 3
cmp eax, 1
jne 0x495bed
cmp qword [rbx + 8], 0
mov ebp, 1
mov edx, dword [rsp + 0x80]
setne al
xor edx, 1
and edx, eax
mov dword [rsp + 0xa8], edx
jmp 0x495bfd
test bpl, bpl
je 0x495d2a
test r12b, r12b
jne 0x49640c
cmp byte [rdi + 0x18], 5
je 0x4965a4
mov ebp, dword [rsp + 0xa8]
test ebp, ebp
jne 0x495d2a
jmp 0x495d34
mov dword [rsp + 0xa8], 0
xor ebp, ebp
jmp 0x495bfd
mov rax, qword [rsp + 0x58]
mov dword [rax], 1
mov rax, qword [rsp + 0x68]
mov dword [rax], 1
jmp 0x495bd6
test rax, rax
je 0x4964b0
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x28], r14
mov r9d, r10d
mov rcx, rdi
mov r8, qword [rsp + 0x60]
mov dword [rsp + 0xbc], r11d
mov dword [rsp + 0xb8], r10d
mov qword [rsp + 0x30], rdx
movzx edx, r12b
mov dword [rsp + 0x20], edx
mov rdx, rbx
call rax
test eax, eax
je 0x495a9f
mov rax, qword [rsp + 0x60]
mov r10d, dword [rsp + 0xb8]
mov r11d, dword [rsp + 0xbc]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x8c]
test eax, eax
jne 0x4964bf
test r12b, r12b
je 0x4964bf
mov eax, dword [rsp + 0x84]
xor eax, 1
test eax, r10d
je 0x4963f8
mov eax, dword [rsp + 0xac]
mov edx, dword [rsp + 0xb0]
or eax, edx
or eax, dword [rsp + 0x88]
je 0x496535
test bpl, bpl
jne 0x496401
mov edx, dword [rsp + 0xa8]
test edx, edx
jne 0x49656f
mov dword [rsp + 0xac], 0
jmp 0x495d47
mov eax, dword [rsp + 0x8c]
test eax, eax
jne 0x4961c5
test byte [rdi + 0x19], 8
je 0x4964f2
mov eax, dword [rsp + 0x84]
mov edx, r9d
mov dword [rsp + 0x88], 0
jmp 0x495b97
test bpl, bpl
jne 0x4961f3
cmp byte [rsp + 0xa8], 0
je 0x495833
test r13d, r13d
je 0x495aac
test byte [rdi + 0x5b], 2
jne 0x495833
jmp 0x495aac
mov dword [rsp + 0x8c], 0
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x495868
mov rax, qword [rax + 0xf8]
mov eax, dword [rax + 0x18]
shr eax, 0xf
and eax, 1
mov dword [rsp + 0x8c], eax
jmp 0x495868
movzx edx, byte [r15 + 0x5c]
lea r8, [rax + 1]
and edx, 0xfffffff9
or edx, 4
mov byte [r15 + 0x5c], dl
cmp byte [rax + 1], 0
jne 0x4956ec
jmp 0x495ea4
cmp byte [rsp + 0x80], 2
je 0x495802
or byte [rdi + 0x5d], 1
or byte [r15 + 0x5d], 1
jmp 0x495802
test r14, r14
jne 0x4964d8
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0x88], 0
mov dword [rax], 1
mov eax, dword [rsp + 0xb0]
mov r8, rbx
mov rdx, rdi
mov dword [rsp + 0x80], r11d
mov rcx, qword [rsi + 8]
mov r9, qword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x20], eax
call fcn.004934c0
cmp dword [rdi + 0x3c], 0xffffffff
mov r11d, dword [rsp + 0x80]
je 0x49631e
movzx eax, byte [rdi + 0x59]
and eax, 3
sub eax, 1
cmp eax, 1
ja 0x49631e
mov rax, qword [rsp + 0x50]
mov r8d, 1
mov rdx, rdi
mov rcx, qword [rsp + 0x48]
call qword [rax + 0x1b8]
mov r11d, dword [rsp + 0x80]
mov r10d, dword [rsp + 0x88]
test r13d, r13d
jne 0x495aac
test r10d, r10d
jne 0x495d61
mov rax, qword [rsp + 0x40]
test byte [rax + 0x21], 0x10
je 0x495aac
mov eax, dword [rsp + 0x84]
or eax, r11d
jne 0x495d61
mov r9d, dword [rsp + 0xac]
test r9d, r9d
je 0x495aac
mov rcx, qword [rsp + 0x48]
mov r8, rsi
mov r9d, 5
mov rdx, qword [rbx + 8]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x20], rdx
mov rdx, rdi
call qword [rax + 0x10]
mov rsi, qword [rsp + 0xa0]
mov rax, qword [rdi + 0x50]
cmp qword [rsi], rax
jae 0x49639d
mov qword [rsi], rax
cmp qword [rsp + 0x70], 0
je 0x4967d0
mov rax, qword [rdi + 0x28]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov edx, dword [rax + 0x70]
mov rax, qword [rax + 0xf0]
mov dword [rsi], edx
mov byte [rdi + 0x18], 1
mov qword [rdi + 0x28], rax
mov dword [rbx], 1
mov rsi, qword [rsp + 0x58]
mov dword [rsi], 1
cmp byte [r15 + 0x18], 6
je 0x496678
mov qword [rdi + 0x70], 0
jmp 0x495aac
test bpl, bpl
je 0x496506
mov dword [rsp + 0xac], 0
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x60]
mov dword [rax], 1
mov rax, qword [0x005ab640]
add rax, 0x118
mov qword [rdx], rax
mov rax, qword [rsp + 0x68]
cmp byte [rdi + 0x18], 5
mov dword [rax], 1
je 0x496594
test r13d, r13d
jne 0x495aac
mov rax, qword [0x005ab640]
add rax, 0x118
mov qword [rsp + 0x40], rax
jmp 0x496338
test byte [rdi + 0x5b], 8
je 0x495c36
mov rdx, qword [rdi + 0x28]
mov edx, dword [rdx + 0x20]
and edx, 3
cmp edx, 1
jne 0x495c36
cmp qword [rdi + 0x50], 0
je 0x495c36
test r11d, r11d
jne 0x495c36
mov dword [rsp + 0x8c], 1
test rax, rax
jne 0x495c4a
jmp 0x495ca0
mov eax, dword [rsp + 0x8c]
test eax, eax
je 0x49614c
mov dword [rsp + 0xac], 0
test bpl, bpl
je 0x496084
jmp 0x496071
test byte [r14 + 0x42], 0x20
je 0x496295
test byte [rsi + 0x42], 0x20
je 0x4962ae
jmp 0x496295
or bpl, byte [rsp + 0xa8]
mov edx, r9d
movzx eax, bpl
jmp 0x495b97
mov dword [rsp + 0xac], 0
jmp 0x496084
mov dword [rsp + 0xac], 0
mov rax, qword [rsp + 0x40]
test byte [rax + 0x21], 0x10
je 0x495aac
jmp 0x496357
test byte [rdi + 0x5b], 2
je 0x496559
test r14, r14
je 0x4966cc
test byte [r14 + 0x42], 0x20
je 0x4966cc
test byte [rsi + 0x42], 0x20
jne 0x4966cc
test bpl, bpl
jne 0x496401
mov r8d, dword [rsp + 0xa8]
test r8d, r8d
je 0x496516
mov r10d, 1
mov dword [rsp + 0xac], 0
jmp 0x495d2a
xor r9d, r9d
test r8, r8
sete r9b
jmp 0x495e1a
mov rax, qword [rsp + 0x58]
mov dword [rax], 1
jmp 0x496444
mov eax, dword [rsp + 0x80]
or eax, dword [rsp + 0x88]
jne 0x49640c
mov ecx, dword [rsp + 0xa8]
test ecx, ecx
je 0x4967e6
mov rax, qword [rsp + 0x98]
mov dword [rsp + 0x80], r11d
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
mov dword [rax], 1
mov rax, qword [rbx + 8]
mov qword [rdx], rax
mov rax, qword [rsp + 0x50]
call qword [rax + 0x2b0]
mov rdx, qword [rsp + 0x60]
test r13d, r13d
mov qword [rsp + 0x40], rax
mov qword [rdx], rax
mov rdx, qword [rsp + 0x68]
mov dword [rdx], 1
jne 0x495aac
test byte [rax + 0x21], 0x10
mov r11d, dword [rsp + 0x80]
jne 0x496347
jmp 0x495aac
cmp dl, 6
je 0x495b01
mov rax, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x78]
mov qword [rsp + 0x78], rax
mov eax, r10d
mov r10d, dword [rsp + 0xb0]
mov dword [rsp + 0xb0], eax
mov rax, rsi
mov rsi, r14
mov qword [rsp + 0x40], rbx
mov r14, rax
jmp 0x495b01
mov qword [r15 + 0x28], rax
mov rax, qword [rsp + 0x50]
mov r8, rdi
mov rdx, r15
mov byte [r15 + 0x18], 1
mov rcx, qword [rsp + 0x48]
mov byte [rdi + 0x18], 6
mov qword [rdi + 0x28], r15
call qword [rax + 0x1b0]
movzx eax, byte [rdi + 0x5b]
test al, 8
je 0x495aac
and eax, 0xfffffff7
mov byte [rdi + 0x5b], al
or byte [r15 + 0x5b], 4
jmp 0x495aac
mov qword [rsp + 0x78], 0
xor r14d, r14d
jmp 0x495781
mov rcx, qword [rsp + 0x48]
mov r8, rsi
mov rbx, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x40]
mov rax, qword [rcx + 0x20]
mov rdx, qword [rbx]
mov qword [rsp + 0x20], rdx
mov rdx, rdi
call qword [rax + 8]
mov rax, qword [rsp + 0x90]
mov dword [rax], 1
jmp 0x495aac
and edx, 1
je 0x4967c8
movzx eax, byte [rdi + 0x18]
mov r8, rdi
mov rdx, r15
mov rbp, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov byte [r15 + 0x18], al
mov rcx, rbp
mov byte [rdi + 0x18], 6
call qword [r14 + 0x1b0]
mov qword [rdi + 0x28], r15
movzx eax, byte [rbx + 0x15]
and eax, 3
cmp al, 3
je 0x496871
mov r8d, 1
mov rdx, rdi
mov rcx, rbp
call qword [r14 + 0x1b8]
movabs rax, 0xfffffff7fbffffff
and qword [rdi + 0x58], rax
movzx eax, byte [rbx + 0x15]
and eax, 3
and dword [rdi + 0x58], 0xf7ffff00
mov qword [rdi + 0x50], 0
mov rdi, r15
jmp 0x495f98
mov rbx, qword [rsp + 0x48]
mov rdx, qword [rbx + 0x28]
cmp qword [rdx + 0x30], rdi
cmovne rsi, rcx
sete dl
jmp 0x495faa
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x20], rsi
mov r8, r14
mov r9, qword [rsp + 0x78]
lea rcx, str._s:_TLS_definition_in__pB_section__pA_mismatches_non_TLS_definition_in__pB_section__pA
mov qword [rsp + 0x28], rax
call fcn.0043f660
jmp 0x495b49
mov rdi, r15
jmp 0x495f98
lea rcx, str..._.._.._src_binutils_2.32_bfd_elflink.c
mov edx, 0x6f6
call fcn.0043f7a0
jmp 0x4963a9
test r13d, r13d
jne 0x495aac
test r10d, r10d
jne 0x496521
jmp 0x496338
mov rax, qword [rsp + 0x40]
mov r9, rsi
mov r8, r14
lea rcx, str._s:_TLS_reference_in__pB_mismatches_non_TLS_definition_in__pB_section__pA
mov qword [rsp + 0x20], rax
call fcn.0043f660
jmp 0x495b49
lea rcx, str._s:_TLS_reference_in__pB_mismatches_non_TLS_reference_in__pB
mov r9, rsi
mov r8, r14
call fcn.0043f660
jmp 0x495b49
mov rax, qword [rsp + 0x50]
mov r8d, 1
mov rdx, r15
mov rcx, qword [rsp + 0x48]
call qword [rax + 0x1b8]
movabs rax, 0xffffff77f3ffffff
and qword [r15 + 0x58], rax
cmp qword [r15 + 0x20], 0
je 0x49687a
mov byte [r15 + 0x18], 1
mov qword [r15 + 0x28], rsi
jmp 0x495aac
or byte [rdi + 0x5b], 4
jmp 0x496770
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x28]
cmp qword [rax + 0x30], r15
je 0x496863
xor r8d, r8d
mov byte [r15 + 0x18], 0
mov qword [r15 + 0x28], r8
jmp 0x495aac
movzx eax, byte [rsp + 0xa8]
or eax, ebp
movzx eax, al
jmp 0x495b97
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0xac], eax
jmp 0x4964ca