Function at 0x1400688d4
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov r11d, r9d
mov r15, r8
mov rsi, rdx
mov r14, rcx
mov r9, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xc8]
mov r10b, byte [rsp + 0xc0]
movzx eax, word [rcx + 0xa]
mov word [rsp + 0x4e], ax
test r15, r15
je 0x140068543
mov r13, rsi
cmp r13, r15
je 0x14006849a
mov r12, r13
mov rbp, r12
movzx esi, word [rbp]
cmp si, word [rsp + 0x4e]
jb 0x14006848b
mov rcx, qword [r14 + 0x20]
mov rax, qword [rcx]
mov rdi, qword [rcx + 8]
mov rdx, rsi
shr rdx, 6
movzx eax, word [rax + rdx*2]
mov edx, esi
and edx, 0x3f
add rdx, rax
movzx ebx, word [rdi + rdx*2]
movzx edx, word [r14 + 0x12]
cmp dx, bx
jbe 0x1400684c8
add rbp, 2
mov r12, rbp
mov rbp, r12
cmp r12, r15
jne 0x140068454
mov sil, 1
test r10b, r10b
je 0x1400684b5
cmp r13, r15
je 0x1400684b5
mov rcx, r8
mov rdx, r13
mov r8, r15
call fcn.14011e0c0
mov eax, esi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov byte [rsp + 0x3f], r11b
lea r12, [rbp + 2]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1400685d9
cmp r12, r15
je 0x14006868a
movzx eax, word [r12]
mov r8d, eax
and r8d, 0xfc00
cmp r8d, 0xdc00
mov r9, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xc8]
mov r10b, byte [rsp + 0xc0]
mov r11b, byte [rsp + 0x3f]
jne 0x140068492
shl esi, 0xa
add esi, eax
add esi, 0xfca02400
cmp esi, dword [rcx + 0x18]
jge 0x1400685a3
mov edx, esi
call fcn.140065310
movzx edx, word [r14 + 0x12]
jmp 0x1400685a9
mov ebx, r11d
mov rbp, r8
lea r13, [rsi - 4]
mov edi, 2
movzx eax, word [r13 + 4]
add r13, 2
add rdi, 0xfffffffffffffffe
cmp ax, word [rsp + 0x4e]
jae 0x14006856b
test ax, ax
jne 0x140068552
xor ecx, ecx
cmp byte [rsp + 0xc0], 0
cmovne rcx, rbp
lea r12, [r13 + 2]
test rcx, rcx
je 0x14006858b
test rdi, rdi
jne 0x140068b3d
mov rax, qword [rsp + 0xd0]
cmp dword [rax], 0
jle 0x140068727
xor esi, esi
jmp 0x1400684b5
mov eax, dword [rcx + 0x14]
add eax, 0xfffffffe
lea r12, [rbp + 4]
cdqe
movzx ebx, word [rdi + rax*2]
cmp dx, bx
mov r9, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xc8]
mov r10b, byte [rsp + 0xc0]
mov r11b, byte [rsp + 0x3f]
ja 0x140068492
cmp word [r14 + 0x1e], bx
jbe 0x1400686a7
cmp byte [rsp + 0xc0], 0
je 0x14006859c
cmp word [r14 + 0x1a], bx
jbe 0x14006885c
cmp bx, word [r14 + 0x14]
jae 0x140068a59
test bl, 1
jne 0x140068c5b
mov rcx, r14
mov rdx, r12
mov r8, r15
call fcn.1401200d0
test al, al
je 0x14006887b
cmp r13, rbp
je 0x14006864b
mov rcx, qword [rsp + 0xc8]
mov rdx, r13
mov r8, rbp
mov r9, qword [rsp + 0xd0]
call fcn.14011e0c0
test al, al
je 0x140068bb8
mov rax, qword [r14 + 0x30]
and ebx, 0xfffe
lea rcx, [rax + rbx]
lea rdx, [rax + rbx]
add rdx, 2
movzx eax, word [rdx - 2]
and eax, 0x1f
lea r8, [rcx + rax*2]
add r8, 2
mov rcx, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xd0]
call fcn.14011e0c0
jmp 0x140068a0e
mov r9, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xc8]
mov r10b, byte [rsp + 0xc0]
jmp 0x14006849a
movzx eax, bx
cmp eax, 0xfe00
jne 0x14006875b
cmp r13, rbp
je 0x14006875b
lea rax, [rbp - 2]
mov qword [rsp + 0x40], rax
movzx edi, word [rbp - 2]
cmp esi, 0x11a6
ja 0x140068980
add edi, 0xffffef00
mov qword [rsp + 0x50], rdi
cmp di, 0x12
ja 0x14006887b
cmp byte [rsp + 0xc0], 0
je 0x14006859c
cmp r12, r15
je 0x140068b55
movzx edi, word [r12]
lea eax, [rdi - 0x11a8]
cmp ax, 0x1a
ja 0x140068b55
add edi, 0xffffee59
add r12, 2
jmp 0x140068b6d
mov rcx, r12
xor edx, edx
call fcn.1400573a0
mov r15, rax
test rdi, rdi
jne 0x140068cfe
mov r13, rsi
mov r9, qword [rsp + 0xd0]
mov r8, rbp
mov r10b, byte [rsp + 0xc0]
mov r11d, ebx
jmp 0x140068449
cmp eax, 0xfe01
jb 0x14006887b
mov edi, ebx
shr edi, 1
cmp byte [rsp + 0x3f], 0
jne 0x140068d98
cmp r12, r15
je 0x140068830
mov rsi, r12
add r12, 2
movzx eax, word [rsi]
mov ecx, eax
and ecx, 0xf800
cmp ecx, 0xd800
jne 0x1400687dc
bt eax, 0xa
jb 0x14006881d
cmp r12, r15
je 0x14006881d
movzx ecx, word [r12]
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xdc00
jne 0x14006881d
lea r12, [rsi + 4]
shl eax, 0xa
lea edx, [rax + rcx]
add edx, 0xfca02400
mov rcx, qword [r14 + 0x20]
cmp edx, dword [rcx + 0x18]
jge 0x140068828
call fcn.140065310
mov rcx, qword [r14 + 0x20]
jmp 0x1400687f4
mov rcx, qword [r14 + 0x20]
mov rdx, qword [rcx]
mov r8, rax
shr r8, 6
movzx edx, word [rdx + r8*2]
and eax, 0x3f
add eax, edx
mov rcx, qword [rcx + 8]
cdqe
movzx eax, word [rcx + rax*2]
cmp eax, 0xfe02
jb 0x140068b12
mov ecx, eax
shr ecx, 1
cmp dil, cl
mov edi, ecx
jbe 0x140068775
jmp 0x140068b04
mov rcx, qword [r14 + 0x20]
mov eax, dword [rcx + 0x14]
dec eax
jmp 0x1400687f4
mov eax, dword [rcx + 0x14]
add eax, 0xfffffffe
jmp 0x1400687f4
mov sil, 1
cmp byte [rsp + 0xc0], 0
je 0x1400684b5
mov rcx, qword [rsp + 0xc8]
mov rdx, r13
mov r8, r15
mov r9, qword [rsp + 0xd0]
jmp 0x1400684b0
test bl, 1
jne 0x140068a96
mov rcx, r14
mov rdx, r12
mov r8, r15
call fcn.1401200d0
test al, al
jne 0x140068ab2
mov qword [rsp + 0x40], r13
cmp r13, rbp
jne 0x140068a44
cmp byte [rsp + 0xc0], 0
je 0x1400688bf
cmp r13, qword [rsp + 0x40]
je 0x1400688bf
mov rcx, qword [rsp + 0xc8]
mov rdx, r13
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0xd0]
call fcn.14011e0c0
test al, al
je 0x140068bb8
mov rsi, qword [rsp + 0xc8]
mov r13, qword [rsi + 0x20]
sub r13, qword [rsi + 0x10]
mov rdi, qword [rsp - 0x137eb730]
sub rsp, 0x238
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
mov r9d, dword [r8 + 0x134863]
test r9, r9
je 0x14006892b
mov edx, dword [r8 + 0x134867]
neg r9
mov eax, 2
mov ecx, eax
mov ecx, dword [r8 + rcx*4 + 0x134863]
add ecx, edx
mov dword [rsp + rax*4 + 0x58], ecx
lea rcx, [r9 + rax]
inc rcx
inc rax
cmp rcx, 2
jne 0x14006890b
lea rax, [rsp + 0x60]
lea rcx, [rsp + 0x28]
mov qword [rcx + 0x10], rax
mov eax, dword [rax + 0x34]
add r8, rax
call r8
nop
add rsp, 0x238
ret
mov r13, r12
jmp 0x140068a19
lea eax, [rdi - 0xac00]
cmp eax, 0x2ba3
ja 0x14006887b
movzx ecx, ax
shr ecx, 2
imul ecx, ecx, 0x4925
shr ecx, 0x11
lea edx, [rcx + rcx*8]
lea edx, [rdx + rdx*2]
add edx, ecx
sub eax, edx
test ax, ax
jne 0x14006887b
cmp byte [rsp + 0xc0], 0
je 0x14006859c
cmp r13, qword [rsp + 0x40]
je 0x1400689ed
mov rcx, qword [rsp + 0xc8]
mov rdx, r13
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0xd0]
call fcn.14011e0c0
test al, al
je 0x140068bb8
lea edx, [rsi + rdi]
add edx, 0xffffee59
mov rcx, qword [rsp + 0xc8]
xor r8d, r8d
mov r9, qword [rsp + 0xd0]
call fcn.1401202a0
mov r13, r12
test al, al
je 0x140068bb8
cmp r12, r15
mov r9, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xc8]
mov r10b, byte [rsp + 0xc0]
mov r11b, byte [rsp + 0x3f]
jne 0x140068451
jmp 0x14006849a
cmp word [r14 + 0x16], bx
jbe 0x140068bc0
mov qword [rsp + 0x40], rbp
jmp 0x140068889
cmp bx, word [r14 + 0x18]
jb 0x14006887b
mov rcx, r14
mov rdx, r12
mov r8, r15
call fcn.1401200d0
test al, al
je 0x140068e37
cmp r13, rbp
je 0x140068965
mov rcx, qword [rsp + 0xc8]
mov rdx, r13
mov r8, rbp
jmp 0x140068678
cmp byte [rsp + 0x3f], 0
je 0x140068ab2
cmp bx, 1
je 0x140068ab2
mov eax, ebx
and eax, 6
cmp ax, 3
jae 0x140068865
cmp r13, rbp
je 0x140068ada
mov rcx, qword [rsp + 0xc8]
mov rdx, r13
mov r8, rbp
mov r9, qword [rsp + 0xd0]
call fcn.14011e0c0
test al, al
je 0x140068bb8
movzx eax, bx
shr eax, 3
add esi, eax
movzx eax, word [r14 + 0x1c]
sub esi, eax
mov rcx, qword [rsp + 0xc8]
cmp esi, 0xffff
jg 0x140068c44
mov edx, esi
jmp 0x1400689fe
cmp byte [rsp + 0xc0], 0
je 0x14006859c
cmp word [r14 + 0x16], ax
jbe 0x140068b27
cmp word [r14 + 0x12], ax
cmovbe r12, rsi
jmp 0x140068a19
cmp word [r14 + 0x1a], ax
ja 0x140068b35
cmp word [r14 + 0x1e], ax
ja 0x140068b19
mov r12, rsi
jmp 0x14006887b
mov rdx, rsi
mov r8, r12
mov r9, qword [rsp + 0xd0]
call fcn.14011e0c0
jmp 0x14006858b
mov rcx, r14
mov rdx, r12
mov r8, r15
call fcn.1401200d0
xor edi, edi
test al, al
je 0x14006887b
cmp r13, qword [rsp + 0x40]
je 0x140068b95
mov rcx, qword [rsp + 0xc8]
mov rdx, r13
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0xd0]
call fcn.14011e0c0
test al, al
je 0x140068bb8
movzx eax, word [rsp + 0x50]
lea ecx, [rax + rax*4]
lea eax, [rax + rcx*4]
add esi, eax
lea eax, [rsi + rsi*8]
lea eax, [rax + rax*2]
add eax, esi
lea edx, [rdi + rax]
add edx, 0x1ac564
jmp 0x1400689f6
mov sil, 1
jmp 0x1400684b5
cmp word [r14 + 0x1a], bx
ja 0x140068bd2
cmp word [r14 + 0x1e], bx
ja 0x140068a4f
lea rsi, [rbp - 2]
movzx eax, word [rbp - 2]
mov ecx, eax
and ecx, 0xf800
cmp ecx, 0xd800
jne 0x140068d1e
bt eax, 0xa
jae 0x140068d8d
cmp rsi, r13
je 0x140068d8d
movzx ecx, word [rbp - 4]
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xd800
jne 0x140068d8d
lea rsi, [rbp - 4]
shl ecx, 0xa
lea edx, [rax + rcx]
add edx, 0xfca02400
mov rcx, qword [r14 + 0x20]
cmp edx, dword [rcx + 0x18]
jge 0x140068e57
call fcn.140065310
mov rcx, qword [r14 + 0x20]
jmp 0x140068d36
mov edx, esi
xor r8d, r8d
mov r9, qword [rsp + 0xd0]
call fcn.14011db70
jmp 0x140068a0e
cmp byte [rsp + 0x3f], 0
je 0x140068623
cmp bx, 1
je 0x140068623
mov rax, qword [r14 + 0x30]
mov ecx, ebx
and ecx, 0xfffe
movzx eax, word [rax + rcx]
cmp eax, 0x200
jae 0x14006860d
jmp 0x140068623
movzx edx, word [r13]
mov rcx, r14
mov r8d, ebx
call fcn.1401143c0
test al, al
je 0x140068dc2
mov r13, r12
jmp 0x140068740
mov rcx, qword [r14 + 0x20]
mov rdx, qword [rcx]
mov r8, rax
shr r8, 6
movzx edx, word [rdx + r8*2]
and eax, 0x3f
add eax, edx
mov rcx, qword [rcx + 8]
cdqe
movzx eax, word [rcx + rax*2]
test al, 1
jne 0x140068d4e
mov qword [rsp + 0x40], rsi
jmp 0x140068889
cmp byte [rsp + 0x3f], 0
je 0x140068a4f
cmp ax, 1
je 0x140068a4f
cmp word [r14 + 0x1a], ax
jbe 0x140068e20
mov rcx, qword [r14 + 0x30]
and eax, 0xfffe
movzx eax, word [rcx + rax]
mov qword [rsp + 0x40], rbp
cmp eax, 0x200
jb 0x140068889
jmp 0x140068d44
mov rcx, qword [r14 + 0x20]
mov eax, dword [rcx + 0x14]
dec eax
jmp 0x140068d36
mov rcx, r14
mov rdx, r13
mov r8, rbp
call fcn.140120320
cmp al, dil
jbe 0x140068775
cmp byte [rsp + 0xc0], 0
jne 0x14006887b
jmp 0x14006859c
mov rcx, rbp
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x20]
mov rdx, rcx
sub rdx, rax
cmp rdx, 3
jl 0x140068dec
add rcx, 0xfffffffffffffffe
mov rax, rbp
mov qword [rbp + 0x20], rcx
inc dword [rbp + 0x28]
mov rax, rcx
jmp 0x140068e08
mov rcx, rbp
mov qword [rbp + 0x20], rax
mov rdx, qword [rbp + 8]
mov ecx, 0x1b
test byte [rdx + 8], 2
jne 0x140068e05
mov ecx, dword [rdx + 0x10]
mov dword [rbp + 0x28], ecx
mov r8, rbp
mov byte [rbp + 0x2c], 0
mov qword [rbp + 0x18], rax
mov r9, qword [rsp + 0xd0]
jmp 0x14006874b
and eax, 6
mov qword [rsp + 0x40], rbp
cmp ax, 3
jb 0x140068889
jmp 0x140068d44
mov rcx, r14
mov rdx, r13
mov r8, rbp
mov r9b, byte [rsp + 0x3f]
call fcn.1401201a0
test al, al
jne 0x140068a7a
jmp 0x14006887b
mov eax, dword [rcx + 0x14]
add eax, 0xfffffffe
jmp 0x140068d36