Function at 0x14003de20
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, 0x168
mov al, 7
mov word [rsp + 0x15e], 0x6ff9
mov byte [rsp + 0x155], 0xe8
movzx ecx, word [rsp + 0x156]
mov dx, cx
mov r8d, ecx
add r8d, r8d
mov r9w, r8w
mov dword [rsp + 0x150], 0x4e6fc4ec
mov qword [rsp + 0x148], 0x7a5ac1c9
mov r8d, ecx
not r8d
mov r10w, r8w
mov word [rsp + 0x156], r10w
mov r11b, byte [rsp + 0x155]
mov byte [rsp + 0x15d], r11b
mov bl, r11b
xor bl, 0xd9
mov byte [rsp + 0x77], bl
mov bl, 0x4e
sub bl, r11b
lea rsi, [rsp + 0x120]
mov byte [rsp + 0x15d], bl
mov rdi, qword [rsp + 0x160]
mov r14, rdi
or r14, 0x6158af53
lea r15, [rsp + 0xe0]
mov qword [rsp + 0x160], r14
mov r14, rdi
or r14, 0x28043ec3
mov qword [rsp + 0x160], r14
mov byte [rsp + 0x15d], 0
mov bl, 0x53
sub bl, r11b
mov byte [rsp + 0x120], bl
mov word [rsp + 0x156], 0xa58a
mov qword [rsp + 0x160], 0xffffffffc866e23a
mov word [rsp + 0x156], dx
mov bl, 0x4d
sub bl, r11b
mov byte [rsp + 0x121], bl
mov bl, byte [rsp + 0x155]
mov bpl, 0x5a
sub bpl, bl
mov bl, r11b
add bl, 0x33
mov byte [rsp + 0x15d], bl
mov byte [rsp + 0x122], bpl
mov r8d, dword [rsp + 0x158]
imul r12d, r8d, 0x4555ea14
mov dword [rsp + 0x158], r12d
mov bl, byte [rsp + 0x155]
add bl, 0x86
mov byte [rsp + 0x15d], 0x8b
mov byte [rsp + 0x123], bl
mov r12d, ecx
and r12d, 0xd480
mov r13w, r12w
mov word [rsp + 0x156], r13w
mov bl, byte [rsp + 0x155]
mov byte [rsp + 0x15d], 0
mov bpl, r11b
add bpl, bpl
xor bl, 0x8d
mov byte [rsp + 0x15d], bpl
mov byte [rsp + 0x124], bl
mov dword [rsp + 0x158], 0
mov bl, byte [rsp + 0x155]
mov qword [rsp + 0x160], rdi
mov bpl, r11b
not bpl
add bl, 0x84
mov byte [rsp + 0x15d], bpl
mov byte [rsp + 0x125], bl
mov r12d, r8d
not r12d
mov dword [rsp + 0x158], r12d
mov bl, r11b
and bl, 0x7e
mov r14b, byte [rsp + 0x155]
mov byte [rsp + 0x15d], bl
add r14b, 0x4b
mov byte [rsp + 0x126], r14b
mov bl, byte [rsp + 0x155]
mov r14b, 0x1a
sub r14b, bl
mov byte [rsp + 0x127], r14b
mov byte [rsp + 0x15d], bpl
mov bl, byte [rsp + 0x155]
mov qword [rsp + 0x160], rdi
add bl, 0x46
mov byte [rsp + 0x128], bl
mov bl, byte [rsp + 0x155]
add bl, 0x7c
mov byte [rsp + 0x129], bl
mov dword [rsp + 0x158], 0x77d5bf69
mov bl, byte [rsp + 0x155]
mov dword [rsp + 0x158], 0
mov bpl, 0x54
mov r14b, bpl
sub r14b, bl
mov byte [rsp + 0x12a], r14b
mov word [rsp + 0x156], dx
mov bl, byte [rsp + 0x155]
sub bpl, bl
mov byte [rsp + 0x12b], bpl
mov byte [rsp + 0x15d], r11b
mov bl, byte [rsp + 0x155]
xor bl, 0xe8
mov ebp, r8d
xor ebp, 0x551d5026
mov dword [rsp + 0x158], ebp
mov byte [rsp + 0x12c], bl
mov dword [rsp + 0x158], 0x29477518
mov ebp, r8d
and ebp, 0x1416e4a0
mov bl, byte [rsp + 0x155]
mov dword [rsp + 0x158], ebp
add bl, 0xa1
mov byte [rsp + 0x12d], bl
imul ebp, r8d, 0x172d4ee7
mov dword [rsp + 0x158], ebp
movaps xmm0, xmmword [0x1400420d0]
movaps xmmword [rsp + 0xe0], xmm0
mov byte [rsp + 0x15d], r11b
mov r13w, word [rsp + 0x15e]
mov bx, 0x7027
sub bx, r13w
mov word [rsp + 0xf0], bx
mov bx, word [rsp + 0x15e]
mov dword [rsp + 0x158], 0
add bx, 0x906b
mov word [rsp + 0xf2], bx
mov ebp, edi
and ebp, 0xeb45131
mov r14d, ebp
mov qword [rsp + 0x160], r14
mov bx, word [rsp + 0x15e]
mov word [rsp + 0x156], 0xb7a4
mov r13w, 0x7065
sub r13w, bx
mov word [rsp + 0xf4], r13w
and ecx, 0xe3f7
mov bx, cx
mov word [rsp + 0x156], bx
mov bx, word [rsp + 0x15e]
xor bx, 0x6f95
mov r14, rdi
not r14
mov word [rsp + 0xf6], bx
mov bx, word [rsp + 0x15e]
mov qword [rsp + 0x160], 0xffffffffe86cc3d1
xor bx, 0x6ff9
mov word [rsp + 0x156], 0
mov word [rsp + 0xf8], bx
mov dword [rsp + 0x158], r12d
mov dword [rsp + 0x158], 0x7cf92fbb
mov bx, word [rsp + 0x15e]
mov dword [rsp + 0x158], r8d
add bx, 0x8f90
mov word [rsp + 0xfa], bx
mov word [rsp + 0x114], 0
mov qword [rsp + 0x10c], 0
mov qword [rsp + 0x104], 0
mov qword [rsp + 0xfc], 0
mov word [rsp + 0x156], r9w
movsx ecx, byte [rsp + 0x13b]
mov r9w, cx
mov word [rsp + 0x116], r9w
mov word [rsp + 0x156], 0xa863
mov word [rsp + 0x156], r10w
movsx ecx, byte [rsp + 0x13c]
mov r9w, cx
mov ecx, dword [rsp + 0x150]
imul r10, rdi, 0x1562d95c
mov qword [rsp + 0x160], r10
xor ecx, 0x1b8f48f1
mov dword [rsp + 0xa4], ecx
mov ecx, dword [rsp + 0xa4]
mov qword [rsp + 0x160], rdi
mov word [rsp + 0x118], r9w
mov ebp, r8d
add ebp, 0x868fa56b
mov dword [rsp + 0x158], ebp
movsx ebp, byte [rsp + 0x13d]
mov r9w, bp
mov byte [rsp + 0x15d], 0xd0
mov word [rsp + 0x11a], r9w
imul r10, rdi, 0x61c2b7fc
movsx ebp, byte [rsp + 0x13e]
mov r9w, bp
mov qword [rsp + 0x160], r10
mov word [rsp + 0x11c], r9w
mov qword [rsp + 0x160], r14
mov r9b, byte [rsp + 0x13f]
movsx ebp, r9b
mov bx, bp
mov word [rsp + 0x11e], bx
mov ebp, dword [rsp + 0x150]
add ebp, 0xb1903b44
mov byte [rsp + 0x67], al
mov r10, qword gs:[ebp]
mov r9b, byte [rsp + 0x67]
sub r9b, r11b
mov byte [rsp + 0x15d], r9b
mov rax, qword [rsp + 0x148]
mov ebp, dword [rsp + 0x150]
xor ebp, 0x683ca34c
add rax, 0xffffffff936ef3d5
mov r10, qword [r10 + 0x60]
add r10, 0x18
mov qword [rsp + 0xb8], rax
mov dword [rsp + 0x158], r8d
cmp ebp, ecx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], r10
mov word [rsp + 0x4e], dx
mov dword [rsp + 0x48], r8d
mov qword [rsp + 0x40], r15
mov byte [rsp + 0x3f], r11b
mov qword [rsp + 0x30], rsi
jae 0x14003e661
jmp 0x14003e460
mov word [rsp + 0x156], 0x79cd
mov rax, qword [rsp + 0x98]
mov word [rsp + 0x156], 0x4449
mov cx, word [rsp + 0x15e]
add cx, 0x9007
mov dl, byte [rsp + 0x3f]
mov byte [rsp + 0x15d], dl
mov r8w, word [rax]
mov word [rsp + 0xb4], r8w
mov rax, qword [rsp + 0x58]
or rax, 0x555fa28a
mov qword [rsp + 0x160], rax
cmp word [rsp + 0xb4], cx
je 0x14003e81e
jmp 0x14003e58b
mov rax, qword [rsp + 0x148]
xor rax, 0x7a5ac1c9
movzx ecx, word [rsp + 0xb6]
mov edx, ecx
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xb8], rax
jmp 0x14003e661
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x80], rax
jmp 0x14003e739
mov ax, word [rsp + 0x4e]
or ax, ax
mov word [rsp + 0x156], ax
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rcx]
add rdx, 0x20
mov qword [rsp + 0x78], rdx
mov r8b, byte [rsp + 0x3f]
xor r8b, 0x46
mov byte [rsp + 0x15d], r8b
mov rdx, qword [rsp + 0x78]
mov rdx, qword [rdx]
mov qword [rsp + 0xa8], rdx
mov word [rsp + 0x156], 0x5892
mov rdx, qword [rsp + 0x78]
mov r9, qword [rsp + 0xa8]
mov qword [rsp + 0xd0], 0
cmp r9, rdx
je 0x14003e6fe
jmp 0x14003e44b
mov ax, 0x6ff9
mov cx, word [rsp + 0x15e]
mov rdx, qword [rsp + 0x90]
mov r8w, word [rsp + rdx*2 + 0xe0]
sub ax, cx
mov r9b, byte [rsp + 0x3f]
mov byte [rsp + 0x15d], r9b
mov byte [rsp + 0x15d], 0xf9
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0xd0], rdx
cmp r8w, ax
je 0x14003e6fe
jmp 0x14003e60b
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xc8]
mov dword [rsp + 0x158], 0x73c2463
mov rdx, qword [rsp + 0x68]
mov r8w, word [rsp + 0x4e]
xor r8w, 0xffff
mov r9, qword [rsp + 0xc0]
mov word [rsp + 0x156], r8w
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xd0], r9
mov r10b, byte [rsp + 0x3f]
mov byte [rsp + 0x15d], r10b
cmp rax, rcx
jb 0x14003e661
jmp 0x14003e6fe
mov rax, qword [rsp + 0x58]
or rax, rax
movzx ecx, word [rsp + 0xb4]
mov qword [rsp + 0x28], rax
call fcn.14003e870
mov rdx, qword [rsp + 0x28]
mov qword [rsp + 0x160], rdx
mov r8b, byte [rsp + 0x3f]
sub r8b, 0x9c
mov rdx, qword [rsp + 0x90]
mov byte [rsp + 0x15d], r8b
mov r9, qword [rsp + 0x148]
add r9, 0xffffffff85a53e38
mov r10, qword [rsp + 0x58]
xor r10, 0xffffffffffffffff
mov r11w, word [rsp + rdx*2 + 0xe0]
mov qword [rsp + 0x160], r10
add r9, qword [rsp + 0x90]
mov qword [rsp + 0x68], r9
cmp r11w, ax
je 0x14003e527
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax]
mov dword [rsp + 0x158], 0x29049697
mov rcx, qword [rsp + 0x78]
mov dx, word [rsp + 0x4e]
xor dx, 0xffff
mov word [rsp + 0x156], dx
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x15d], 0xcf
mov qword [rsp + 0xd0], 0
cmp rax, rcx
je 0x14003e6fe
jmp 0x14003e739
mov eax, 0x5d9a2fdd
mov cx, word [rsp + 0x15e]
xor cx, 0xa06d
mov edx, dword [rsp + 0x48]
sub eax, edx
mov r8, qword [rsp + 0xb8]
mov dword [rsp + 0x158], eax
mov qword [rsp + 0x90], r8
mov word [rsp + 0x74], cx
mov r8, qword [rsp + 0x58]
and r8, 0x5c699cf
mov cx, word [rsp + 0x15e]
mov r9, qword [rsp + 0x88]
mov r10w, word [rsp + 0x74]
mov qword [rsp + 0x160], r8
mov r8, qword [rsp + 0x90]
xor cx, 0x5e62
mov r11b, byte [rsp + 0x3f]
mov byte [rsp + 0x15d], r11b
shl r8, 1
add r9, r8
mov qword [rsp + 0x98], r9
mov qword [rsp + 0xd0], 0
cmp cx, r10w
jne 0x14003e3b7
mov al, byte [rsp + 0x3f]
mov cl, byte [rsp + 0x3f]
mul cl
mov byte [rsp + 0x15d], al
mov rdx, qword [rsp + 0xd0]
mov dword [rsp + 0x158], 0xca55b44d
mov rax, rdx
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ax, 0x6ffa
mov cx, 0x6ff9
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0xd8], rdx
mov r8w, word [rsp + 0x4e]
imul r8w, r8w
mov word [rsp + 0x156], r8w
mov rdx, qword [rsp + 0xd8]
mov r8w, word [rsp + 0x15e]
mov r9b, byte [rsp + 0x3f]
or r9b, 0xa
sub cx, r8w
mov byte [rsp + 0x15d], r9b
mov r8w, word [rsp + 0x4e]
imul r10w, r8w, 0xeac0
mov word [rsp + 0x156], r10w
mov rdx, qword [rdx + 0x20]
mov word [rsp + 0x156], 0xd2f6
mov qword [rsp + 0xc0], rdx
mov rdx, qword [rsp + 0xd8]
mov r11, qword [rsp + 0xd8]
mov r10w, word [rsp + 0x15e]
mov r9b, byte [rsp + 0x3f]
xor r9b, r9b
mov si, word [rdx + 0x48]
sub ax, r10w
mov byte [rsp + 0x15d], r9b
mov rdx, qword [r11 + 0x50]
mov qword [rsp + 0x88], rdx
mov word [rsp + 0x26], cx
mov cx, ax
shr si, cl
mov word [rsp + 0xb6], si
mov ax, word [rsp + 0x26]
cmp word [rsp + 0xb6], ax
je 0x14003e60b
jmp 0x14003e41e
mov eax, dword [rsp + 0x48]
xor eax, 0xffffffff
mov dword [rsp + 0x158], eax
mov cl, 0xde
mov al, byte [rsp + 0x3f]
mul cl
mov cl, byte [rsp + 0x155]
mov byte [rsp + 0x15d], al
mov al, 0x92
mov dl, byte [rsp + 0x3f]
mov byte [rsp + 0x25], al
mov al, dl
mov r8b, byte [rsp + 0x25]
mul r8b
add cl, 0xdb
mov byte [rsp + 0x15d], al
cmp byte [rsp + 0x77], cl
jne 0x14003e4d3
jmp 0x14003e527