Function at 0x170058930
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
and rsp, 0xfffffffffffffff0
mov qword [rsp + 0x58], r9
mov rsi, r8
mov r12, rdx
mov r14d, ecx
mov rdi, qword [rbp + 0x70]
test byte [0x17008d980], 8
je 0x17005899f
mov rax, qword [rdi + 0x98]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r14d
lea rdx, [0x17008d980]
lea r8, [0x17007936b]
lea r9, str.type__x_rip__p_rsp__p_n
mov ecx, 3
call fcn.170058710
test byte [0x17008d970], 8
mov qword [rsp + 0x50], rsi
mov rax, r12
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x74], r14d
je 0x170058fc6
lea rcx, [0x17008d970]
call sym.ntdll.dll___wine_dbg_get_channel_flags
test al, 8
je 0x170058fc6
test byte [0x17008d980], 8
je 0x170058a0c
mov rcx, qword [rsp + 0x58]
mov eax, dword [rcx]
mov ecx, dword [rcx + 4]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
lea rdx, [0x17008d980]
lea r8, str.dump_unwind_info
lea r9, str._func__x__x_n
mov ecx, 3
call fcn.170058710
lea rsi, str.dump_unwind_info
lea rdi, [0x170059904]
mov r15, qword [rsp + 0x58]
jmp 0x170058a3a
mov r15, rsi
lea rsi, str.dump_unwind_info
mov rbx, r15
mov r15d, dword [r15 + 8]
test r15b, 1
jne 0x170058ea0
add r15, r12
test byte [0x17008d980], 8
je 0x170058aa7
movzx eax, byte [r15]
shr eax, 3
movzx ecx, byte [r15 + 1]
mov edx, dword [rbx]
mov esi, dword [rbx + 4]
add rdx, r12
add rsi, r12
mov qword [rsp + 0x40], rsi
lea rsi, str.dump_unwind_info
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r15
mov ecx, 3
lea rdx, [0x17008d980]
mov r8, rsi
lea r9, str.unwind_info_at__p_flags__x_prolog_0x_x_bytes_function__p__p_n
call fcn.170058710
mov qword [rsp + 0x68], rbx
movzx eax, byte [r15 + 3]
mov rcx, rax
and rcx, 0xf
lea rbx, [0x170079740]
je 0x170058af5
test byte [0x17008d980], 8
je 0x170058af5
mov rcx, qword [rbx + rcx*8]
and eax, 0xfffffff0
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov ecx, 3
lea rdx, [0x17008d980]
mov r8, rsi
lea r9, str.____frame_register__s_offset_0x_x___rsp__n
call fcn.170058710
lea r13, [r15 + 4]
xor r14d, r14d
cmp byte [r15 + 2], 0
jne 0x170058b27
jmp 0x170058f13
call fcn.170058710
add r14d, 1
movzx eax, byte [r15 + 2]
cmp r14d, eax
jae 0x170058f10
test byte [0x17008d980], 8
mov r12d, r14d
je 0x170058b58
movzx eax, byte [r13 + r12*2]
mov dword [rsp + 0x20], eax
mov ecx, 3
lea rdx, [0x17008d980]
mov r8, rsi
lea r9, str.____0x_x:
call fcn.170058710
movzx eax, byte [r13 + r12*2 + 1]
mov ecx, eax
and ecx, 0xf
cmp ecx, 0xa
ja case.0x170058b73.7
movsxd rdx, dword [rdi + rcx*4]
add rdx, rdi
jmp rdx
test byte [0x17008d980], 8
je 0x170058b15
shr rax, 4
mov rax, qword [rbx + rax*8]
mov qword [rsp + 0x20], rax
mov ecx, 3
lea rdx, [0x17008d980]
mov r8, rsi
lea r9, str.pushq____s_n
jmp 0x170058b10
lea esi, [r14 + 1]
cmp al, 0x10
jae 0x170058e1d
movzx eax, word [r13 + rsi*2]
shl eax, 3
test byte [0x17008d980], 8
je 0x170058e36
mov dword [rsp + 0x20], eax
mov ecx, 3
lea rdx, [0x17008d980]
lea rbx, str.dump_unwind_info
mov r8, rbx
lea r9, str.subq__0x_x___rsp_n
call fcn.170058710
mov r14d, esi
mov rsi, rbx
lea rbx, [0x170079740]
jmp 0x170058b15
test byte [0x17008d980], 8
je 0x170058b15
shr eax, 4
lea eax, [rax*8 + 8]
mov dword [rsp + 0x20], eax
mov ecx, 3
lea rdx, [0x17008d980]
mov r8, rsi
lea r9, str.subq__0x_x___rsp_n
jmp 0x170058b10
test byte [0x17008d980], 8
je 0x170058b15
movzx eax, byte [r15 + 3]
mov ecx, eax
and ecx, 0xfffffff0
and eax, 0xf
mov rax, qword [rbx + rax*8]
mov dword [rsp + 0x20], ecx
mov qword [rsp + 0x28], rax
mov ecx, 3
lea rdx, [0x17008d980]
mov r8, rsi
lea r9, str.leaq_0x_x___rsp___s_n
jmp 0x170058b10
add r14d, 1
test byte [0x17008d980], 8
je 0x170058b15
mov ecx, r14d
movzx ecx, word [r13 + rcx*2]
shl ecx, 3
shr al, 4
movzx eax, al
mov rax, qword [rbx + rax*8]
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
mov ecx, 3
lea rdx, [0x17008d980]
mov r8, rsi
lea r9, str.movq____s_0x_x___rsp__n
jmp 0x170058b10
test byte [0x17008d980], 8
je 0x170058de2
mov ecx, dword [r13 + r12*2 + 2]
shr rax, 4
mov rax, qword [rbx + rax*8]
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
mov ecx, 3
lea rdx, [0x17008d980]
mov r8, rsi
lea r9, str.movq____s_0x_x___rsp__n
jmp 0x170058ddd
movzx edx, byte [r15]
and dl, 7
cmp dl, 2
jne case.0x170058b73.7
cmp al, 0x10
jae 0x170058e45
movzx ecx, byte [r13 + r12*2 + 3]
shl ecx, 4
and ecx, 0xf00
movzx eax, byte [r13 + r12*2 + 2]
or rax, rcx
test byte [0x17008d980], 8
jne 0x170058e54
jmp 0x170058e92
test byte [0x17008d980], 1
je 0x170058b15
mov dword [rsp + 0x20], ecx
xor ecx, ecx
lea rdx, [0x17008d980]
mov r8, rsi
lea r9, str.unknown_code__u_n
jmp 0x170058b10
add r14d, 1
test byte [0x17008d980], 8
je 0x170058b15
mov ecx, r14d
movzx ecx, word [r13 + rcx*2]
shl ecx, 4
shr al, 4
movzx eax, al
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov ecx, 3
lea rdx, [0x17008d980]
mov r8, rsi
lea r9, str.movaps___xmm_u_0x_x___rsp__n
jmp 0x170058b10
test byte [0x17008d980], 8
je 0x170058de2
mov ecx, dword [r13 + r12*2 + 2]
shr eax, 4
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov ecx, 3
lea rdx, [0x17008d980]
mov r8, rsi
lea r9, str.movaps___xmm_u_0x_x___rsp__n
call fcn.170058710
add r14d, 2
jmp 0x170058b15
test byte [0x17008d980], 8
je 0x170058b15
shr al, 4
movzx eax, al
mov dword [rsp + 0x20], eax
mov ecx, 3
lea rdx, [0x17008d980]
mov r8, rsi
lea r9, str.PUSH_MACHFRAME__u_n
jmp 0x170058b10
mov eax, dword [r13 + rsi*2]
add r14d, 2
mov esi, r14d
test byte [0x17008d980], 8
jne 0x170058bc8
mov r14d, esi
lea rsi, str.dump_unwind_info
jmp 0x170058b15
movzx eax, byte [r13 + r12*2]
test byte [0x17008d980], 8
je 0x170058e92
mov rcx, qword [rsp + 0x68]
mov ecx, dword [rcx + 4]
sub rcx, rax
add rcx, qword [rsp + 0x60]
movzx eax, byte [r13 + r12*2]
add rax, rcx
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rax
mov ecx, 3
lea rdx, [0x17008d980]
mov r8, rsi
lea r9, str.epilog__p__p_n
call fcn.170058710
add r14d, 1
jmp 0x170058b15
and r15d, 0xfffffffe
add r15, r12
test byte [0x17008d980], 8
je 0x170058a3a
mov eax, dword [rbx]
mov ecx, dword [rbx + 4]
add rax, r12
add rcx, r12
mov edx, dword [r15]
mov esi, dword [r15 + 4]
add rdx, r12
add rsi, r12
mov qword [rsp + 0x38], rsi
lea rsi, str.dump_unwind_info
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov ecx, 3
lea rdx, [0x17008d980]
mov r8, rsi
lea r9, str.unwind_info_for_function__p__p_chained_to_function__p__p_n
call fcn.170058710
jmp 0x170058a3a
mov r14d, eax
movzx eax, r14b
add eax, 1
and eax, 0xfffffffe
lea rsi, [rax*2]
add rsi, r13
movzx eax, byte [r15]
shr eax, 3
test al, 4
je 0x170058f7e
test byte [0x17008d980], 8
mov r12, qword [rsp + 0x60]
je 0x170058a30
mov eax, dword [rsi]
mov ecx, dword [rsi + 4]
add rax, r12
add rcx, r12
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov ecx, 3
lea rdx, [0x17008d980]
lea r8, str.dump_unwind_info
lea r9, str.____chained_to_function__p__p_n
call fcn.170058710
jmp 0x170058a30
test al, 3
mov rdi, qword [rbp + 0x70]
mov r12, qword [rsp + 0x60]
je 0x170058fc6
test byte [0x17008d980], 8
je 0x170058fc6
mov eax, dword [rsi]
add rax, r12
add rsi, 4
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
lea rdx, [0x17008d980]
lea r8, str.dump_unwind_info
lea r9, str.____handler__p_data_at__p_n
mov ecx, 3
call fcn.170058710
mov rsi, qword [rbp + 0x80]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
cmp byte [rax + 2], 0
je 0x17005901a
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
add rax, r12
lea rcx, [sym.ntdll.dll_KiUserExceptionDispatcher]
cmp rax, rcx
jne 0x17005901a
mov rdx, qword [rdi + 0x98]
mov r8d, 0x4d0
mov rcx, rdi
call sym.ntdll.dll_memcpy
mov rax, qword [rdi + 0x98]
mov qword [rsi], rax
jmp 0x1700598ed
mov r10, qword [rdi + 0x98]
mov qword [rsi], r10
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
lea r15, [r12 + rax]
mov cl, byte [r12 + rax]
and cl, 7
lea edx, [rcx - 1]
cmp dl, 1
ja 0x170059699
lea r13, [rdi + 0x98]
mov rcx, qword [rsp + 0x50]
lea rdx, [rcx + 7]
mov qword [rsp + 0x78], rdx
add rcx, 4
mov qword [rsp + 0x80], rcx
lea rsi, [r12 + rax + 4]
lea r14, [r12 + rax]
add r14, 2
mov r8b, byte [r12 + rax + 2]
movzx eax, r8b
add eax, 1
and eax, 0xfffffffe
lea rbx, [rsi + rax*2]
mov dword [rsp + 0x70], 0
mov r9d, 0x150
nop word cs:[rax + rax]
nop dword [rax]
movzx ecx, byte [r15 + 3]
mov rax, rcx
and rax, 0xf
je 0x1700590bd
mov rdx, qword [rbp + 0x70]
mov r10, qword [rdx + rax*8 + 0x78]
and ecx, 0xfffffff0
sub r10, rcx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x60]
lea rdx, [rcx + rax]
cmp rdx, qword [rsp + 0x50]
ja 0x170059140
movzx eax, byte [r15 + 1]
add rax, rdx
cmp rax, qword [rsp + 0x50]
jbe 0x170059140
mov qword [rsp + 0x68], rbx
test byte [0x17008d980], 8
je 0x17005912b
mov ecx, 3
lea rdx, [0x17008d980]
lea r8, [0x17007936b]
lea r9, str.inside_prolog._n
mov rdi, r10
call fcn.170058710
mov r9d, 0x150
mov r10, rdi
mov rax, qword [rsp + 0x58]
mov edx, dword [rax]
mov r8b, byte [r14]
add rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
mov r12d, eax
sub r12d, edx
jmp case.0x170059282.60
test r8b, r8b
je 0x1700591b0
mov qword [rsp + 0x68], rbx
mov rbx, qword [rsp + 0x50]
movzx edx, byte [rbx]
mov eax, edx
and eax, 0xfffffff8
cmp eax, 0x48
jne 0x170059247
mov rax, qword [rsp + 0x50]
mov al, byte [rax + 1]
cmp al, 0x8d
je 0x1700591e2
cmp al, 0x83
je 0x1700591bb
mov rbx, qword [rsp + 0x50]
cmp al, 0x81
jne 0x170059247
mov r12d, 0xffffffff
cmp dl, 0x48
jne 0x1700592d9
mov rax, qword [rsp + 0x50]
cmp byte [rax + 2], 0xc4
mov rbx, qword [rsp + 0x78]
je 0x170059247
jmp 0x1700592d9
mov r12d, 0xffffffff
jmp 0x170059645
mov r12d, 0xffffffff
cmp dl, 0x48
jne 0x1700592d9
mov rax, qword [rsp + 0x50]
cmp byte [rax + 2], 0xc4
mov rbx, qword [rsp + 0x80]
je 0x170059247
jmp 0x1700592d9
mov r12d, 0xffffffff
test dl, 6
jne 0x1700592d9
mov rax, qword [rsp + 0x50]
movzx edx, byte [rax + 2]
mov eax, edx
and eax, 0x38
cmp eax, 0x20
jne 0x1700592d9
mov eax, edx
and eax, 7
cmp eax, 4
je 0x1700592d9
shr edx, 6
mov rbx, qword [rsp + 0x80]
cmp edx, 1
je 0x170059247
cmp edx, 2
jne 0x1700592d9
mov rbx, qword [rsp + 0x78]
jmp 0x170059247
add rdx, 1
mov rbx, rdx
movzx eax, byte [rbx]
and al, 0xf0
xor edi, edi
cmp al, 0x40
sete dil
lea rdx, [rbx + rdi]
movzx ebx, byte [rbx + rdi]
lea eax, [rbx - 0x58]
cmp al, 8
jb 0x170059240
mov r12d, 0xffffffff
add bl, 0x3e
cmp bl, 0x31
ja case.0x170059282.60
movzx eax, bl
lea rbx, [0x170059930]
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
movsxd rax, dword [rdx + 1]
lea rbx, [rax + rdx]
add rbx, 5
jmp 0x17005929f
movsx rax, byte [rdx + 1]
lea rbx, [rax + rdx]
add rbx, 2
mov rax, rbx
sub rax, qword [rsp + 0x60]
cmp rax, rcx
jl case.0x170059282.60
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx + 4]
cmp rax, rdx
jl 0x170059247
jmp case.0x170059282.60
cmp byte [rdx + 1], 0xc3
je case.0x170059282.62
nop word cs:[rax + rax]
nop
test r8b, r8b
je 0x170059640
movzx ecx, r8b
xor ebx, ebx
mov r8d, 0x220
jmp 0x170059303
mov eax, 3
add ebx, eax
movzx ecx, byte [r14]
cmp ebx, ecx
jae 0x170059640
mov ebx, ebx
movzx eax, byte [rsi + rbx*2]
cmp r12d, eax
jae 0x170059350
movzx ecx, word [rsi + rbx*2]
mov edx, ecx
shr edx, 8
and edx, 0xf
cmp edx, 9
ja 0x1700593a8
mov eax, 2
bt r9d, edx
jb 0x1700592f5
bt r8d, edx
jb 0x1700592f0
cmp edx, 1
jne 0x1700593a8
movzx ecx, cx
xor eax, eax
cmp ecx, 0x1000
setae al
or eax, 2
jmp 0x1700592f5
movzx eax, byte [rsi + rbx*2 + 1]
mov edx, eax
and edx, 0xf
cmp edx, 0xa
ja case.0x170059371.7
lea r11, [0x170059ac0]
movsxd rdi, dword [r11 + rdx*4]
add rdi, r11
jmp rdi
shr rax, 4
mov rdi, qword [rbp + 0x70]
mov rcx, qword [rdi + 0x98]
mov rdx, qword [rcx]
mov qword [rdi + rax*8 + 0x78], rdx
mov rdx, qword [rbp + 0x88]
test rdx, rdx
je 0x17005939e
mov qword [rdx + rax*8 + 0x80], rcx
add qword [r13], 8
jmp 0x17005930e
mov eax, 1
jmp 0x1700592f5
lea ecx, [rbx + 1]
cmp al, 0x10
jae 0x17005953f
movzx eax, word [rsi + rcx*2]
shl rax, 3
add qword [r13], rax
jmp 0x17005930e
shr rax, 4
mov rcx, qword [r13]
lea rax, [rcx + rax*8]
add rax, 8
mov qword [r13], rax
jmp 0x17005930e
mov rax, qword [rbp + 0x80]
mov qword [rax], r10
mov qword [r13], r10
jmp 0x17005930e
shr rax, 4
movzx ecx, word [rsi + rbx*2 + 2]
mov rdx, qword [r10 + rcx*8]
mov rdi, qword [rbp + 0x70]
mov qword [rdi + rax*8 + 0x78], rdx
mov rdx, qword [rbp + 0x88]
test rdx, rdx
je 0x17005930e
lea rcx, [r10 + rcx*8]
mov qword [rdx + rax*8 + 0x80], rcx
jmp 0x17005930e
mov ecx, dword [rsi + rbx*2 + 2]
shr rax, 4
mov rdx, qword [r10 + rcx]
mov rdi, qword [rbp + 0x70]
mov qword [rdi + rax*8 + 0x78], rdx
mov rdx, qword [rbp + 0x88]
test rdx, rdx
je 0x17005930e
add rcx, r10
mov qword [rdx + rax*8 + 0x80], rcx
jmp 0x17005930e
movzx eax, byte [r15]
and al, 7
cmp al, 2
je 0x17005930e
test byte [0x17008d980], 1
je 0x17005930e
mov dword [rsp + 0x20], edx
xor ecx, ecx
lea rdx, [0x17008d980]
lea r8, [0x17007936b]
lea r9, str.unknown_code__u_n
jmp 0x17005956f
movzx ecx, word [rsi + rbx*2 + 2]
shl rcx, 4
shr al, 4
movzx eax, al
mov rdx, rax
shl rdx, 4
movaps xmm0, xmmword [rcx + r10]
jmp 0x1700594d4
mov ecx, dword [rsi + rbx*2 + 2]
shr al, 4
movzx eax, al
mov rdx, rax
shl rdx, 4
movaps xmm0, xmmword [r10 + rcx]
mov rdi, qword [rbp + 0x70]
movaps xmmword [rdi + rdx + 0x1a0], xmm0
mov rdx, qword [rbp + 0x88]
test rdx, rdx
je 0x17005930e
add rcx, r10
mov qword [rdx + rax*8], rcx
jmp 0x17005930e
test byte [r15], 0x20
jne 0x17005954b
mov edi, 0x150
movzx r8d, word [rsi + rbx*2]
mov edx, r8d
shr edx, 8
and edx, 0xf
cmp edx, 9
ja 0x1700595a7
mov r9d, 2
bt edi, edx
jb 0x1700595ad
mov edi, 0x220
bt edi, edx
jae 0x17005958b
mov r9d, 3
jmp 0x1700595ad
mov eax, dword [rsi + rcx*2]
add qword [r13], rax
jmp 0x17005930e
test byte [0x17008d980], 1
je 0x17005930e
xor ecx, ecx
lea rdx, [0x17008d980]
lea r8, [0x17007936b]
lea r9, str.PUSH_MACHFRAME_with_chained_unwind_info._n
mov rdi, r10
call fcn.170058710
mov r8d, 0x220
mov r9d, 0x150
mov r10, rdi
jmp 0x17005930e
cmp edx, 1
jne 0x1700595a7
movzx edx, r8w
xor r9d, r9d
cmp edx, 0x1000
setae r9b
or r9d, 2
jmp 0x1700595ad
mov r9d, 1
lea edx, [rbx + r9]
cmp edx, ecx
jae 0x1700595f1
test byte [0x17008d980], 1
je 0x1700595e0
xor ecx, ecx
lea rdx, [0x17008d980]
lea r8, [0x17007936b]
lea r9, str.PUSH_MACHFRAME_is_not_the_last_opcode._n
mov rdi, r10
call fcn.170058710
mov r10, rdi
mov r9d, 0x150
mov r8d, 0x220
jmp 0x17005930e
mov rcx, qword [r13]
cmp al, 0x10
jb 0x170059601
add rcx, 8
mov qword [r13], rcx
mov r9d, 0x150
mov r8d, 0x220
mov rax, qword [rcx]
mov rdx, qword [rbp + 0x70]
mov qword [rdx + 0xf8], rax
mov rax, qword [rcx + 0x18]
mov qword [rdx + 0x98], rax
mov dword [rsp + 0x70], 1
jmp 0x17005930e
mov rbx, qword [rsp + 0x68]
mov al, byte [r15]
test al, 0x20
je 0x17005986a
mov qword [rsp + 0x58], rbx
mov eax, dword [rbx + 8]
mov rdx, qword [rsp + 0x60]
lea r15, [rdx + rax]
lea rsi, [rdx + rax]
add rsi, 4
lea r14, [rdx + rax]
add r14, 2
movzx r8d, byte [rdx + rax + 2]
mov ecx, r8d
add ecx, 1
and ecx, 0xfffffffe
lea rbx, [r15 + rcx*2]
add rbx, 4
mov cl, byte [rdx + rax]
and cl, 7
lea eax, [rcx - 1]
cmp al, 2
jb 0x1700590a0
test byte [0x17008d980], 1
je 0x1700598ed
movzx eax, cl
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], eax
lea rdx, [0x17008d980]
lea r8, [0x17007936b]
lea r9, str.unknown_unwind_info_version__u_at__p_n
xor esi, esi
xor ecx, ecx
call fcn.170058710
jmp 0x1700598ef
mov r15, r10
test byte [0x17008d980], 8
je 0x170059700
lea rdx, [0x17008d980]
lea r8, [0x17007936b]
lea r9, str.inside_epilog._n
mov ecx, 3
call fcn.170058710
xor r14d, r14d
mov r8d, 6
mov r9d, 3
lea r10, [0x1700599f8]
mov r11d, 1
mov rdi, qword [rbp + 0x70]
mov rsi, qword [rsp + 0x50]
mov r12, qword [rbp + 0x88]
jmp 0x17005973b
add qword [r13], 8
add rax, r11
mov rsi, rax
movzx ecx, byte [rsi]
mov edx, ecx
and dl, 0xf0
and cl, 0xf
xor ebx, ebx
cmp dl, 0x40
movzx ecx, cl
cmovne ecx, r14d
sete bl
lea rax, [rsi + rbx]
movzx edx, byte [rsi + rbx]
cmp dl, 0x57
jle 0x1700597a0
lea ebx, [rdx - 0x58]
cmp bl, 7
ja case.0x1700597fc.60
movzx edx, dl
shl cl, 3
and cl, 8
movzx ecx, cl
add ecx, edx
add ecx, 0xffffffa8
mov rdx, qword [rdi + 0x98]
mov rbx, qword [rdx]
mov qword [rdi + rcx*8 + 0x78], rbx
test r12, r12
je 0x170059730
mov qword [r12 + rcx*8 + 0x80], rdx
jmp 0x170059730
cmp dl, 0xc1
jg 0x1700597e6
cmp dl, 0x81
je 0x17005981f
cmp dl, 0x83
je 0x170059829
cmp dl, 0x8d
jne case.0x1700597fc.60
movzx edx, byte [rax + 1]
mov ebx, edx
and ebx, 0xffffffc0
and edx, 7
movzx ecx, cl
and ecx, 1
lea rcx, [rdx + rcx*8]
mov rcx, qword [rdi + rcx*8 + 0x78]
cmp ebx, 0x40
jne 0x17005983d
movsx rdx, byte [rax + 2]
add rcx, rdx
mov qword [r13], rcx
jmp 0x170059832
add dl, 0x3e
cmp dl, 0x31
ja case.0x1700597fc.60
movzx ecx, dl
movsxd rcx, dword [r10 + rcx*4]
add rcx, r10
jmp rcx
movsxd rsi, dword [rax + 1]
add rsi, 5
add rsi, rax
jmp 0x17005973b
movsx rsi, byte [rax + 1]
add rsi, 2
add rsi, rax
jmp 0x17005973b
movsxd rcx, dword [rax + 2]
add qword [r13], rcx
jmp 0x170059848
movsx rcx, byte [rax + 2]
add qword [r13], rcx
add rax, r9
mov rsi, rax
jmp 0x17005973b
movsxd rdx, dword [rax + 2]
add rcx, rdx
mov qword [r13], rcx
add rax, r8
mov rsi, rax
jmp 0x17005973b
mov rax, qword [rdi + 0x98]
mov rcx, qword [rax]
mov qword [rdi + 0xf8], rcx
add rax, 8
jmp 0x1700598df
cmp dword [rsp + 0x70], 0
jne 0x170059894
mov rdx, qword [rbp + 0x70]
mov rax, qword [rdx + 0x98]
mov rcx, qword [rax]
mov qword [rdx + 0xf8], rcx
add rax, 8
mov qword [rdx + 0x98], rax
mov al, byte [r15]
shr al, 3
movzx eax, al
xor esi, esi
test dword [rsp + 0x74], eax
mov rcx, qword [rsp + 0x60]
je 0x1700598ef
cmp r12d, 0xffffffff
jne 0x1700598ef
lea rax, [rbx + 4]
mov rdx, qword [rbp + 0x78]
mov qword [rdx], rax
mov eax, dword [rbx]
add rcx, rax
mov rsi, rcx
jmp 0x1700598ef
mov rdx, qword [rdi + 0x98]
mov rcx, qword [rdx]
mov qword [rdi + 0xf8], rcx
movzx ecx, word [rax + 1]
lea rax, [rdx + rcx]
add rax, 8
mov qword [r13], rax
mov rax, qword [rbp + 0x80]
mov qword [rax], r15
xor esi, esi
mov rax, rsi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret