Function at 0x1400956c0
Capabilities:
Access peb ldr_data

Disassembly:
push rbp
push rdi
push r14
push rsi
push r15
push r13
push rbx
push r12
sub rsp, 0x1b8
mov eax, 0x8ffefdff
lea rcx, [rsp + 0x150]
lea rdx, [rsp + 0x100]
mov r8w, 0x4220
mov r9w, 0x428c
mov r10w, 0x424e
mov dword [rsp + 0x1b0], 0x6919b261
movzx r11d, word [rsp + 0x19e]
mov si, r11w
mov edi, r11d
add edi, 0x1320
mov bx, di
mov word [rsp + 0x19e], bx
mov qword [rsp + 0x190], 0x7acfee51
mov bpl, byte [rsp + 0x1af]
mov byte [rsp + 0x18f], 6
mov word [rsp + 0x18c], 0x4220
mov word [rsp + 0x19e], si
mov edi, dword [rsp + 0x1b4]
mov r14, qword [rsp + 0x190]
mov r15, r14
xor r15, 0x350826d
mov qword [rsp + 0xe8], r15
mov r12d, dword [rsp + 0x1b0]
mov r13d, 0xb2f3a16a
sub r13d, r12d
mov r15, r14
not r15
mov dword [rsp + 0x144], r13d
mov bx, word [rsp + 0x18c]
mov r12w, 0x41a7
sub r12w, bx
mov word [rsp + 0x86], r12w
mov bl, bpl
not bl
mov r12b, byte [rsp + 0x18f]
mov byte [rsp + 0x1af], bl
mov r13b, 0xea
sub r13b, r12b
mov byte [rsp + 0xa7], r13b
mov r12b, bpl
and r12b, 4
mov byte [rsp + 0x1af], r12b
mov r12d, edi
and r12d, 0x7d357457
lea r13, [rsp + 0x150]
mov dword [rsp + 0x1b4], r12d
lea r12, [rsp + 0x100]
mov dword [rsp + 0x80], eax
mov eax, r11d
not eax
mov word [rsp + 0x19e], ax
mov al, byte [rsp + 0x18f]
mov byte [rsp + 0x7f], al
mov al, 0x71
mov qword [rsp + 0x70], rcx
mov cl, byte [rsp + 0x7f]
sub al, cl
mov ecx, edi
or ecx, 0x49f15060
mov dword [rsp + 0x1b4], ecx
mov byte [rsp + 0x150], al
mov dword [rsp + 0x1b4], 0
mov al, byte [rsp + 0x18f]
add al, 0x5f
mov byte [rsp + 0x151], al
mov dword [rsp + 0x1b4], edi
mov al, byte [rsp + 0x18f]
mov byte [rsp + 0x1af], bpl
mov ecx, edi
not ecx
xor al, 0x74
mov byte [rsp + 0x152], al
mov al, byte [rsp + 0x18f]
mov byte [rsp + 0x6f], al
mov al, 0x74
mov dword [rsp + 0x68], ecx
mov cl, byte [rsp + 0x6f]
sub al, cl
mov byte [rsp + 0x153], al
mov al, bpl
add al, al
mov byte [rsp + 0x1af], al
mov qword [rsp + 0x1a0], r15
mov eax, r11d
add eax, 0x47e6
mov cx, ax
mov al, byte [rsp + 0x18f]
mov word [rsp + 0x19e], cx
xor al, 0x63
mov byte [rsp + 0x154], al
mov al, byte [rsp + 0x18f]
add al, 0x66
mov byte [rsp + 0x155], al
mov eax, r11d
xor eax, 0xe6f6
mov cx, ax
mov word [rsp + 0x19e], cx
mov al, byte [rsp + 0x18f]
xor al, 0x35
mov byte [rsp + 0x156], al
mov byte [rsp + 0x1af], bpl
mov byte [rsp + 0x1af], 0x35
mov r15, r14
or r15, 0x773bc0ed
mov al, byte [rsp + 0x18f]
xor al, 0x34
mov qword [rsp + 0x1a0], r15
mov byte [rsp + 0x157], al
mov byte [rsp + 0x1af], bl
mov al, byte [rsp + 0x18f]
mov bl, 0x34
sub bl, al
mov dword [rsp + 0x1b4], edi
mov byte [rsp + 0x158], bl
mov qword [rsp + 0x1a0], r14
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x1b4], eax
mov bl, byte [rsp + 0x18f]
add bl, 0x5e
mov byte [rsp + 0x159], bl
mov bl, byte [rsp + 0x18f]
add bl, 0x66
mov dword [rsp + 0x1b4], 0x25d7d75f
mov byte [rsp + 0x15a], bl
mov eax, edi
xor eax, 0x570420ba
mov bl, byte [rsp + 0x18f]
add bl, 0x66
mov dword [rsp + 0x1b4], eax
mov byte [rsp + 0x15b], bl
mov bl, byte [rsp + 0x18f]
mov al, 6
sub al, bl
mov qword [rsp + 0x1a0], r14
mov byte [rsp + 0x15c], al
mov al, byte [rsp + 0x18f]
add al, 0x2f
mov byte [rsp + 0x15d], al
add r11d, 0x2035
mov cx, r11w
mov word [rsp + 0x19e], cx
movaps xmm0, xmmword [str.kernel32ntdll.dl]
movaps xmmword [rsp + 0x100], xmm0
mov al, bpl
add al, 0x50
mov byte [rsp + 0x1af], al
sub r10w, word [rsp + 0x18c]
mov word [rsp + 0x110], r10w
mov cx, si
or cx, cx
mov word [rsp + 0x19e], cx
mov r11d, edi
and r11d, 0x15da44ae
mov dword [rsp + 0x1b4], r11d
mov cx, word [rsp + 0x18c]
mov byte [rsp + 0x1af], bpl
add cx, 0xbe44
mov word [rsp + 0x112], cx
mov byte [rsp + 0x1af], bpl
mov cx, word [rsp + 0x18c]
mov r15, r14
and r15, 0x3b960c21
mov qword [rsp + 0x1a0], r15
mov r10w, r9w
sub r10w, cx
mov word [rsp + 0x114], r10w
sub r9w, word [rsp + 0x18c]
mov word [rsp + 0x116], r9w
mov al, bpl
xor al, 0x89
mov cx, word [rsp + 0x18c]
mov byte [rsp + 0x1af], al
sub r8w, cx
mov word [rsp + 0x118], r8w
mov cx, word [rsp + 0x18c]
add cx, 0xbe15
mov word [rsp + 0x11a], cx
mov r15, r14
xor r15, 0x75b5a78f
add rdx, 0x1c
mov qword [rsp + 0x1a0], r15
mov r15, qword [rsp + 0x70]
add r15, 0x1b
mov al, bpl
sub al, 0x1d
mov byte [rsp + 0x1af], al
mov r11d, dword [rsp + 0x144]
mov qword [rsp + 0x1a0], r14
mov eax, dword [rsp + 0x80]
sub eax, dword [rsp + 0x1b0]
cmp eax, r11d
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], r14
mov word [rsp + 0x4e], si
mov byte [rsp + 0x4d], bpl
mov dword [rsp + 0x48], edi
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r15
ja 0x140095d9b
jmp 0x140095bfa
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xb0], rax
mov cx, word [rsp + 0x4e]
mov word [rsp + 0x19e], cx
mov rax, qword [rsp + 0x50]
sub rax, 0x74381efb
mov dx, word [rsp + 0x86]
mov r8w, word [rsp + 0x18c]
add r8w, 0xad3c
mov qword [rsp + 0x1a0], rax
cmp dx, r8w
jbe 0x140095fa9
mov al, byte [rsp + 0x4d]
mov byte [rsp + 0x1af], al
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x50]
or rdx, 0x154f1d6c
mov qword [rsp + 0x1a0], rdx
mov rdx, qword [rsp + 0x50]
xor rdx, 0x54be65a7
mov qword [rsp + 0x1a0], rdx
mov rax, rcx
add rsp, 0x1b8
pop r12
pop rbx
pop r13
pop r15
pop rsi
pop r14
pop rdi
pop rbp
ret
mov rax, qword [rsp + 0x40]
mov word [rax + 0x18], 0
mov qword [rax + 0x10], 0
mov qword [rax + 8], 0
mov qword [rax], 0
mov ecx, dword [rsp + 0x48]
xor ecx, 0x69553f77
mov rdx, qword [rsp + 0x38]
movsx r8d, byte [rdx]
mov r9w, r8w
mov dword [rsp + 0x1b4], ecx
mov dword [rsp + 0x1b4], 0x7e563bd3
mov word [rsp + 0x136], r9w
mov r10, qword [rsp + 0x50]
xor r10, 0x39cf9420
mov qword [rsp + 0x1a0], r10
mov ecx, dword [rsp + 0x1b0]
movsx r8d, byte [rsp + 0x16c]
mov r9w, r8w
mov r10, qword [rsp + 0x50]
mov qword [rsp + 0x1a0], r10
add ecx, 0x96e64dcf
mov word [rsp + 0x138], r9w
mov r8d, dword [rsp + 0x48]
mov dword [rsp + 0x1b4], r8d
mov dword [rsp + 0x1b4], 0x309e78aa
movsx r11d, byte [rsp + 0x16d]
mov r9w, r11w
mov word [rsp + 0x13a], r9w
movsx r11d, byte [rsp + 0x16e]
mov r9w, r11w
mov word [rsp + 0x13c], r9w
or r10, 0x2c327333
mov qword [rsp + 0x1a0], r10
mov bl, byte [rsp + 0x16f]
movsx r11d, bl
mov r9w, r11w
mov bl, byte [rsp + 0x4d]
add bl, 0x41
mov byte [rsp + 0x1af], bl
mov word [rsp + 0x13e], r9w
mov r10, qword gs:[ecx]
mov rax, qword [r10 + 0x60]
mov rax, qword [rax + 0x18]
add rax, 0x20
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x1a0], 0x1bbc801d
mov rax, qword [rsp + 0xa8]
mov r9w, word [rsp + 0x4e]
mov word [rsp + 0x19e], r9w
mov rax, qword [rax]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xa8]
mov r10, qword [rsp + 0x50]
and r10, 0x6da814bc
mov qword [rsp + 0x1a0], r10
mov r10, qword [rsp + 0xd0]
mov dword [rsp + 0x1b4], 0x23c33716
mov qword [rsp + 0x88], 0
cmp r10, rax
je 0x140095b57
jmp 0x14009608f
mov ax, 0x4220
sub ax, word [rsp + 0x18c]
mov qword [rsp + 0x1a0], 0x40624d10
mov rcx, qword [rsp + 0xb8]
mov edx, dword [rsp + 0x48]
or edx, 0x3d2020f
mov dword [rsp + 0x1b4], edx
mov r8w, word [rsp + 0x4e]
sub r8w, 0x4d99
mov r9w, word [rsp + rcx*2 + 0x100]
mov word [rsp + 0x19e], r8w
mov edx, dword [rsp + 0x48]
and edx, 0x6b3669d7
mov dword [rsp + 0x1b4], edx
mov rcx, qword [rsp + 0x148]
mov qword [rsp + 0x88], rcx
cmp r9w, ax
je 0x140095b57
jmp 0x140095eac
mov word [rsp + 0x19e], 0x8dab
mov rax, qword [rsp + 0xb8]
mov cl, byte [rsp + 0x4d]
or cl, 0x7b
mov rdx, qword [rsp + 0x190]
add rdx, 0xffffffff853011b0
movzx r8d, word [rsp + 0xc6]
mov byte [rsp + 0x37], cl
mov ecx, r8d
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
call fcn.140096280
mov r9b, byte [rsp + 0x37]
mov byte [rsp + 0x1af], r9b
mov r9b, byte [rsp + 0x4d]
xor r9b, 0xff
mov rdx, qword [rsp + 0x28]
mov r10w, word [rsp + rdx*2 + 0x100]
mov byte [rsp + 0x1af], r9b
mov r11, qword [rsp + 0x20]
add r11, qword [rsp + 0xb8]
mov qword [rsp + 0xc8], r11
cmp r10w, ax
je 0x140095f42
mov al, 0xeb
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x1a0], rcx
or rcx, 0x3ec77fd9
mov rdx, qword [rsp + 0xe0]
mov qword [rsp + 0x1a0], rcx
mov r8w, word [rsp + 0x4e]
imul r9w, r8w, 0xfe8
mov rcx, qword [rsp + 0x190]
xor rcx, 0x71768ba1
mov word [rsp + 0x19e], r9w
sub al, byte [rsp + 0x18f]
mov qword [rsp + 0x180], rdx
sub r8w, 0x278e
mov word [rsp + 0x19e], r8w
mov byte [rsp + 0xf7], al
mov al, byte [rsp + 0xf7]
mov byte [rsp + 0x85], al
mov word [rsp + 0x19e], 0x169b
cmp rcx, qword [rsp + 0xe8]
je 0x140095fa9
jmp 0x140095feb
mov ax, word [rsp + 0x4e]
xor ax, 0xffff
mov word [rsp + 0x19e], ax
mov ax, word [rsp + 0x4e]
xor ax, ax
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xf8]
mov word [rsp + 0x19e], ax
mov r8, qword [rsp + 0xc8]
mov r9, qword [rsp + 0x148]
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0x88], r9
mov byte [rsp + 0x1af], 0x45
cmp rcx, rdx
jb 0x1400960a4
jmp 0x140095b57
mov eax, dword [rsp + 0x48]
add eax, 0x46de19d
mov cx, word [rsp + 0x18c]
mov dword [rsp + 0x1b4], eax
xor cx, 0x4220
mov dx, word [rsp + 0xc6]
mov r8w, word [rsp + 0x4e]
mov word [rsp + 0x19e], r8w
cmp dx, cx
je 0x140095d9b
jmp 0x140095e1a
mov al, 0x7c
mov cl, byte [rsp + 0x4d]
xor cl, 0xff
mov byte [rsp + 0x1af], cl
sub al, byte [rsp + 0x18f]
cmp al, byte [rsp + 0x85]
ja 0x140095d9b
mov rax, qword [rsp + 0x180]
mov rax, qword [rax]
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x88], 0
cmp rax, rcx
je 0x140095b57
jmp 0x140096166
movzx eax, word [rsp + 0x96]
mov ecx, eax
mov rdx, qword [rsp + 0x190]
mov r8w, word [rsp + 0x4e]
and r8w, 0x6e68
mov word [rsp + 0x19e], r8w
add rdx, 0xffffffff853011af
mov qword [rsp + 0xf8], rcx
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x1b4], eax
mov qword [rsp + 0xd8], rdx
jmp 0x1400960a4
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x178], rax
jmp 0x140096166
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xb8], rax
mov cx, word [rsp + 0x4e]
imul dx, cx, 0x2c7e
mov word [rsp + 0x19e], dx
mov r8b, byte [rsp + 0x4d]
add r8b, 0xc7
mov r9b, byte [rsp + 0xa7]
mov byte [rsp + 0x1af], r8b
mov r10d, dword [rsp + 0x48]
or r10d, r10d
mov rax, qword [rsp + 0x98]
mov dword [rsp + 0x1b4], r10d
mov r11, qword [rsp + 0xb8]
mov word [rsp + 0x19e], cx
mov r8b, byte [rsp + 0x4d]
add r8b, 0xdf
mov bl, byte [rsp + 0x18f]
add bl, 0x76
mov byte [rsp + 0x1af], r8b
mov dx, word [rax + r11*2]
mov word [rsp + 0xc6], dx
xor cx, 0xffff
mov word [rsp + 0x19e], cx
mov rax, qword [rsp + 0x50]
xor rax, 0xffffffffffffffff
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x88], 0
cmp bl, r9b
jb 0x140095fa9
jmp 0x140095b57
mov eax, dword [rsp + 0x48]
sub eax, 0x37660bac
mov dword [rsp + 0x1b4], eax
mov rcx, qword [rsp + 0x178]
mov qword [rsp + 0xe0], rcx
mov dl, byte [rsp + 0x4d]
xor dl, dl
mov byte [rsp + 0x1af], dl
mov dl, byte [rsp + 0x4d]
add dl, dl
mov rcx, qword [rsp + 0xe0]
mov byte [rsp + 0x1af], dl
mov rcx, qword [rcx + 0x20]
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x1b4], eax
mov qword [rsp + 0x148], rcx
mov r8w, word [rsp + 0x18c]
mov rcx, qword [rsp + 0x50]
xor rcx, 0x8c31aa4
mov qword [rsp + 0x1a0], rcx
xor r8w, 0x4220
mov rcx, qword [rsp + 0xe0]
mov dl, byte [rsp + 0x4d]
mov byte [rsp + 0x1af], dl
imul eax, eax
mov dword [rsp + 0x1b4], eax
mov r9w, word [rcx + 0x48]
mov word [rsp + 0x19e], 0xa3b8
mov rcx, qword [rsp + 0xe0]
mov r10w, word [rsp + 0x18c]
mov rcx, qword [rcx + 0x50]
add r10w, 0xbde1
mov qword [rsp + 0x98], rcx
mov rcx, qword [rsp + 0x50]
xor rcx, 0xdf52ea6
mov qword [rsp + 0x1a0], rcx
mov cx, r10w
shr r9w, cl
mov word [rsp + 0x96], r9w
mov eax, dword [rsp + 0x48]
xor eax, 0x2c215030
mov r9w, word [rsp + 0x96]
mov dword [rsp + 0x1b4], eax
cmp r9w, r8w
je 0x140095eac
jmp 0x140096044