Function at 0x1400100e0
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1158
call fcn.140047690
sub rsp, rax
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rcx
lea rax, [0x141ceab3f]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x158]
mov rcx, qword [rsp + 0x158]
mov dword [rsp + 0x158], 0x952ef9ab
mov edx, dword [rsp + 0x158]
call fcn.1400070c0
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx ebx, byte [rax + 6]
movzx eax, byte [0x141d019e8]
mov edx, 7
xor ecx, ecx
call fcn.14003c8f0
test rax, rax
je 0x140010ffb
mov r12, rax
shl ebx, 0x10
or edi, ebx
mov eax, edi
shr eax, 0x10
xor al, 0x3e
movzx eax, al
mov byte [r12 + 6], al
shl rax, 0x30
mov ecx, edi
shr ecx, 8
xor cl, 0x19
movzx ecx, cl
shl rcx, 0x28
or rcx, rax
xor dil, 0x55
movzx eax, dil
shl rax, 0x20
or rax, rcx
xor esi, 0x2dea5444
mov dword [r12], esi
shr rax, 0x20
mov word [r12 + 4], ax
lea rax, [0x141cebe89]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x158]
mov rcx, qword [rsp + 0x158]
mov dword [rsp + 0x158], 0xb777e2ba
mov edx, dword [rsp + 0x158]
call fcn.1400070f0
mov esi, dword [rax]
movzx ebx, byte [rax + 4]
movzx eax, byte [0x141d019e8]
mov edx, 5
xor ecx, ecx
call fcn.14003c8f0
test rax, rax
je 0x140010ffb
mov r14, rax
xor bl, 0xe0
xor esi, 0x33bc865b
mov byte [rax + 4], bl
mov dword [rax], esi
lea rax, [0x141cecec0]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x158]
mov rcx, qword [rsp + 0x158]
mov dword [rsp + 0x158], 0x512132f5
mov edx, dword [rsp + 0x158]
call fcn.140007240
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx ebx, byte [rax + 6]
movzx eax, byte [0x141d019e8]
mov edx, 7
xor ecx, ecx
call fcn.14003c8f0
test rax, rax
je 0x140010ffb
mov r15, rax
shl ebx, 0x10
or edi, ebx
mov eax, edi
shr eax, 0x10
xor al, 0xa2
movzx eax, al
mov byte [r15 + 6], al
shl rax, 0x30
mov ecx, edi
shr ecx, 8
xor cl, 0x26
movzx ecx, cl
shl rcx, 0x28
or rcx, rax
xor dil, 0xb7
movzx eax, dil
shl rax, 0x20
or rax, rcx
xor esi, 0xfcb8577c
mov dword [r15], esi
shr rax, 0x20
mov word [r15 + 4], ax
lea rax, [0x141cea382]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x158]
mov rcx, qword [rsp + 0x158]
mov dword [rsp + 0x158], 0xcde2e289
mov edx, dword [rsp + 0x158]
call fcn.140007400
mov rsi, qword [rax]
movzx ebx, byte [rax + 8]
movzx eax, byte [0x141d019e8]
mov edx, 9
xor ecx, ecx
call fcn.14003c8f0
test rax, rax
je 0x140010ffb
mov r13, rax
xor bl, 0x8d
movabs rax, 0x1613b8aeeb9fdd76
xor rsi, rax
mov qword [r13], rsi
mov byte [r13 + 8], bl
lea rax, [0x141ce1e61]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x158]
mov rcx, qword [rsp + 0x158]
mov dword [rsp + 0x158], 0xb47b2df4
mov edx, dword [rsp + 0x158]
call fcn.140006e00
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx ebx, byte [rax + 6]
movzx eax, byte [0x141d019e8]
mov edx, 7
xor ecx, ecx
call fcn.14003c8f0
test rax, rax
je 0x140010ffb
mov rbp, rax
shl ebx, 0x10
or edi, ebx
mov eax, edi
shr eax, 0x10
xor al, 0xfe
movzx eax, al
mov byte [rbp + 6], al
shl rax, 0x30
mov ecx, edi
shr ecx, 8
xor cl, 0x5d
movzx ecx, cl
shl rcx, 0x28
or rcx, rax
xor dil, 0x9f
movzx eax, dil
shl rax, 0x20
or rax, rcx
xor esi, 0x98c43dc1
mov dword [rbp], esi
shr rax, 0x20
mov word [rbp + 4], ax
lea rax, [0x141ced258]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x158]
mov rcx, qword [rsp + 0x158]
mov dword [rsp + 0x158], 0x51dcea5
mov edx, dword [rsp + 0x158]
call fcn.140007200
mov esi, dword [rax]
movzx ebx, byte [rax + 4]
movzx eax, byte [0x141d019e8]
mov edx, 5
xor ecx, ecx
call fcn.14003c8f0
test rax, rax
je 0x140010ffb
mov qword [rsp + 0x38], r13
xor bl, 0xc7
xor esi, 0xd268798b
mov byte [rax + 4], bl
mov qword [rsp + 0x68], rax
mov dword [rax], esi
lea rax, [0x141cebc14]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x158]
mov rcx, qword [rsp + 0x158]
mov dword [rsp + 0x158], 0xcf607d8a
mov edx, dword [rsp + 0x158]
call fcn.140006510
mov rsi, qword [rax]
movzx eax, byte [0x141d019e8]
mov edx, 8
xor ecx, ecx
call fcn.14003c8f0
test rax, rax
je 0x140010ffb
mov rbx, rax
movabs rax, 0x1b37bbefa08bf51b
xor rsi, rax
mov qword [rbx], rsi
lea rax, [0x141ceef10]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x158]
mov rcx, qword [rsp + 0x158]
mov dword [rsp + 0x158], 0x7bef61a6
mov edx, dword [rsp + 0x158]
call fcn.140006680
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx eax, byte [0x141d019e8]
mov edx, 6
xor ecx, ecx
call fcn.14003c8f0
test rax, rax
je 0x140010ffb
mov r13, rax
mov eax, edi
shr eax, 8
xor al, 0x99
movzx eax, al
shl rax, 0x28
xor dil, 0x44
movzx ecx, dil
shl rcx, 0x20
or rcx, rax
xor esi, 0xb1cd8131
mov dword [r13], esi
shr rcx, 0x20
mov word [r13 + 4], cx
movzx eax, byte [0x141d019e8]
mov edx, 0x80
xor ecx, ecx
call fcn.14003c8f0
test rax, rax
je 0x140010ffb
mov rdi, rax
mov qword [rax], r12
mov qword [rax + 8], 7
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 5
mov qword [rax + 0x20], r15
mov qword [rax + 0x28], 7
mov rax, qword [rsp + 0x38]
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], 9
mov qword [rdi + 0x40], rbp
mov qword [rdi + 0x48], 7
mov rax, qword [rsp + 0x68]
mov qword [rdi + 0x50], rax
mov qword [rdi + 0x58], 5
mov qword [rdi + 0x60], rbx
mov qword [rdi + 0x68], 8
mov qword [rdi + 0x70], r13
mov qword [rdi + 0x78], 6
mov eax, dword [0x141d019ec]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x18]
cmp rax, 1
jne 0x140010fec
mov eax, dword [0x141d019ec]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 0x20]
inc qword [rsi]
je 0x140010ffb
mov rax, qword [rsi + 0x110]
cmp rax, 0x3f
jbe 0x14001065c
lea rdx, [rsi + 0x10]
lea rcx, [rsi + 0x120]
mov rax, qword [rsi + 0x158]
test rax, rax
jle 0x140010655
cmp qword [rsi + 0x160], 0
js 0x140010655
add rax, 0xffffffffffffff00
mov qword [rsi + 0x158], rax
call fcn.140026290
jmp 0x14001065a
call fcn.140005130
xor eax, eax
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xc8], r14
lea rcx, [rax + 1]
cmp dword [rsi + rax*4 + 0x10], 0
mov qword [rsp + 0x60], rsi
mov qword [rsi + 0x110], rcx
mov qword [rsp + 0xb8], rbp
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xc0], r15
js 0x140010735
lea rax, [0x141ce82b0]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x158]
mov rcx, qword [rsp + 0x158]
mov dword [rsp + 0x158], 0xf6b0e613
mov edx, dword [rsp + 0x158]
call fcn.140006b10
mov r14, qword [rax]
mov rsi, qword [rax + 8]
movzx eax, byte [0x141d019e8]
mov ebx, 0x10
mov edx, 0x10
xor ecx, ecx
call fcn.14003c8f0
test rax, rax
mov r13, qword [rsp + 0x38]
je 0x140010ffb
movabs rcx, 0xf3e2ad494c68caf2
xor rsi, rcx
movabs rcx, 0x67555ab36368dcad
xor r14, rcx
mov qword [rax], r14
mov qword [rsp + 0x50], rax
mov qword [rax + 8], rsi
jmp 0x1400107e7
lea rax, [0x141ce66ec]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x158]
mov rcx, qword [rsp + 0x158]
mov dword [rsp + 0x158], 0xddf6f908
mov edx, dword [rsp + 0x158]
call fcn.140007260
mov r14, qword [rax]
mov ebp, dword [rax + 8]
movzx esi, word [rax + 0xc]
movzx r15d, byte [rax + 0xe]
movzx eax, byte [0x141d019e8]
mov ebx, 0xf
mov edx, 0xf
xor ecx, ecx
call fcn.14003c8f0
test rax, rax
mov r13, qword [rsp + 0x38]
je 0x140010ffb
shl r15d, 0x10
or esi, r15d
mov r8d, esi
shr r8d, 0x10
xor r8b, 0x38
mov ecx, esi
shr ecx, 8
xor cl, 0x8d
xor sil, 0xaa
xor ebp, 0xe5161df
movabs rdx, 0xd70c2f4d42ebed4c
xor r14, rdx
mov qword [rax], r14
mov dword [rax + 8], ebp
mov byte [rax + 0xc], sil
mov byte [rax + 0xd], cl
mov qword [rsp + 0x50], rax
mov byte [rax + 0xe], r8b
lea rcx, [rsp + 0x118]
mov rsi, qword [rsp + 0x60]
mov rdx, rsi
mov r8, rdi
call fcn.14000f820
lea rcx, [rsp + 0x130]
mov rdx, rsi
mov r8, rdi
call fcn.14000f820
mov r14, qword [rsp + 0x120]
mov r15, qword [rsp + 0x128]
movzx eax, byte [0x141d019e8]
xor ecx, ecx
mov rdx, rbx
call fcn.14003c8f0
test rax, rax
je 0x140010ffb
mov r12, rax
mov rcx, rax
mov rdx, qword [rsp + 0x50]
mov r8, rbx
call fcn.140048510
mov qword [rsp + 0x158], rbx
mov qword [rsp + 0x160], r12
mov qword [rsp + 0x168], rbx
mov byte [rsp + 0x170], 0
lea rcx, [rsp + 0x158]
mov rdx, r14
mov r8, r15
call fcn.14002f9e0
mov r15, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x168]
cmp qword [rsp + 0x118], 0
je 0x1400108b7
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, r14
call qword [0x141cfe0e0]
mov rcx, rsi
mov rdx, rbx
call fcn.140030840
test rax, rax
jne 0x140010ffb
test rbx, rbx
js 0x140010ffb
mov qword [rsp + 0xa0], r15
mov r14, qword [rsp + 0x138]
mov r15, qword [rsp + 0x140]
je 0x14001090c
movzx eax, byte [0x141d019e8]
xor ecx, ecx
mov rdx, rbx
call fcn.14003c8f0
mov r12, rax
test rax, rax
jne 0x140010912
jmp 0x140010ffb
mov r12d, 1
mov rcx, r12
mov rdx, rsi
mov r8, rbx
call fcn.140048510
mov qword [rsp + 0x158], rbx
mov qword [rsp + 0x160], r12
mov qword [rsp + 0x168], rbx
mov byte [rsp + 0x170], 0
lea rcx, [rsp + 0x158]
mov rdx, r14
mov r8, r15
call fcn.14002f9e0
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x98], rax
mov r15, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x168]
cmp qword [rsp + 0x130], 0
je 0x140010990
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, r14
call qword [0x141cfe0e0]
mov rcx, r15
mov rdx, rbx
call fcn.140030840
test rax, rax
jne 0x140010ffb
test rbx, rbx
js 0x140010ffb
je 0x1400109cd
movzx eax, byte [0x141d019e8]
xor ecx, ecx
mov rdx, rbx
call fcn.14003c8f0
mov r14, rax
test rax, rax
jne 0x1400109d3
jmp 0x140010ffb
mov r14d, 1
mov rcx, r14
mov qword [rsp + 0x90], r15
mov rdx, r15
mov r8, rbx
call fcn.140048510
mov qword [rsp + 0x158], rbx
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], rbx
mov byte [rsp + 0x170], 0
lea rcx, [rsp + 0x158]
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
call fcn.14002f9e0
mov r14, qword [rsp + 0x158]
mov r12, qword [rsp + 0x160]
mov r15, qword [rsp + 0x168]
mov dword [rsp + 0x158], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x170], 7
mov qword [rsp + 0x174], 0
mov word [rsp + 0x17c], 0
mov byte [rsp + 0x179], 1
mov byte [rsp + 0x17c], 1
mov byte [rsp + 0x17b], 1
lea r8, [rsp + 0x158]
mov rcx, r12
mov rdx, r15
call fcn.14002eeb0
test rax, rax
jne 0x140010ffb
mov rbx, rdx
mov qword [rsp + 0x58], rdx
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
mov qword [rsp + 0x48], rax
neg rax
jo 0x140010ffd
mov rdx, qword [rcx + 8]
mov r8, qword [rcx + 0x10]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x88], rdx
call fcn.140001530
test rax, rax
jne 0x140010ffb
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x80], rsi
lea rcx, [rsp + 0x158]
mov rdx, rbx
call fcn.14002f150
cmp dword [rsp + 0x158], 2
je 0x140010ffb
mov rsi, qword [rsp + 0x190]
mov r14, qword [rsp + 0x58]
cmp rsi, 0x2a1fffff
mov qword [rsp + 0x30], r12
ja 0x140010bc7
mov qword [rsp + 0x158], 0
lea r8, [rsp + 0x158]
mov rcx, r14
xor edx, edx
mov r9d, 2
call qword [0x141cfe1b8]
test eax, eax
je 0x14001104b
lea rbx, [rsp + 0x158]
mov r8d, 0x1000
mov rcx, rbx
xor edx, edx
call fcn.140048bc0
mov r13d, 0x2a200000
sub r13, rsi
lea rbp, [rsp + 0x58]
nop word cs:[rax + rax]
cmp r13, 0x1000
mov r12d, 0x1000
cmovb r12, r13
mov rcx, rbp
mov rdx, rbx
mov r8, r12
call fcn.140001530
test rax, rax
jne 0x140010ffb
sub r13, r12
jne 0x140010b90
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov rcx, r14
call qword [0x141cfdee8]
test r15, r15
js 0x140010ffb
je 0x140010c24
movzx eax, byte [0x141d019e8]
xor ecx, ecx
mov rdx, r15
call fcn.14003c8f0
test rax, rax
je 0x140010ffb
mov r14, rax
mov rcx, rax
mov rdx, r12
mov r8, r15
call fcn.140048510
movzx eax, byte [0x141d019e8]
xor ecx, ecx
mov rdx, r15
call fcn.14003c8f0
mov rbx, rax
test rax, rax
jne 0x140010c3f
jmp 0x140010ffb
mov r14d, 1
mov ecx, 1
mov rdx, r12
mov r8, r15
call fcn.140048510
mov ebx, 1
movabs rsi, 0x8000000000000000
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.140048510
mov qword [rsp + 0x158], r15
mov qword [rsp + 0x160], rbx
mov qword [rsp + 0x168], r15
mov byte [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 8
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x1e0], 0
mov qword [rsp + 0x1f0], 0
mov word [rsp + 0x1f8], 0
mov qword [rsp + 0x190], rsi
mov dword [rsp + 0x21c], 0
mov word [rsp + 0x218], 0
mov word [rsp + 0x220], 0
mov dword [rsp + 0x1b0], 6
mov dword [rsp + 0x1c0], 6
mov dword [rsp + 0x1d0], 6
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x210], 0
test r15, r15
je 0x140010d34
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, r14
call qword [0x141cfe0e0]
mov dword [rsp + 0x21c], 0x8000000
mov dword [rsp + 0x148], 0
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0x158]
lea r8, [rsp + 0x148]
call fcn.140032810
mov rbp, qword [rsp + 0xd8]
mov r14, qword [rsp + 0xe8]
cmp r14, 2
jne 0x140010d82
mov rbx, rbp
jmp 0x140010dc7
mov r15, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x78], rax
cmp qword [rsp + 0xf8], 0
sete sil
cmp qword [rsp + 0x108], 0
sete byte [rsp + 0x2f]
mov r12, r13
lea rax, [0x141ceb62c]
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0xd8]
mov rcx, qword [rsp + 0xd8]
mov dword [rsp + 0xd8], 0xc0ccb7e1
mov edx, dword [rsp + 0xd8]
call fcn.140007280
mov rcx, qword [rax]
mov rcx, qword [rax + 8]
mov rcx, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
movzx eax, word [rax + 0x20]
cmp r14d, 2
je 0x140010ffb
mov r13, qword [0x141cfdee8]
mov rcx, rbp
call r13
mov rcx, r15
call r13
test r14, r14
je 0x140010e3e
mov rcx, rbx
call qword [0x141cfdee8]
test sil, 1
mov r14, qword [rsp + 0xc8]
mov r15, qword [rsp + 0xc0]
mov r13, r12
mov r12, qword [rsp + 0xb8]
jne 0x140010e6a
mov rcx, qword [rsp + 0x70]
call qword [0x141cfdee8]
test byte [rsp + 0x2f], 1
mov rsi, qword [rsp + 0x60]
jne 0x140010e81
mov rcx, qword [rsp + 0x78]
call qword [0x141cfdee8]
lea rcx, [rsp + 0x158]
call fcn.140004080
cmp qword [rsp + 0x48], 0
mov rbx, qword [rsp + 0xd0]
je 0x140010eb5
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, qword [rsp + 0x88]
call qword [0x141cfe0e0]
cmp qword [rsp + 0x40], 0
je 0x140010ed1
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, qword [rsp + 0x30]
call qword [0x141cfe0e0]
cmp qword [rsp + 0x98], 0
je 0x140010ef3
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, qword [rsp + 0x90]
call qword [0x141cfe0e0]
cmp qword [rsp + 0xa0], 0
je 0x140010f15
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, qword [rsp + 0x80]
call qword [0x141cfe0e0]
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, qword [rsp + 0x50]
call qword [0x141cfe0e0]
dec qword [rsi]
jne 0x140010f46
dec qword [rsi + 8]
jne 0x140010f46
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, rsi
call qword [0x141cfe0e0]
mov rcx, qword [0x141d019d0]
mov rsi, qword [0x141cfe0e0]
xor edx, edx
mov r8, rdi
call rsi
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, rbx
call rsi
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, r14
call rsi
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, r15
call rsi
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, r13
call rsi
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, r12
call rsi
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, qword [rsp + 0x68]
call rsi
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, qword [rsp + 0xb0]
call rsi
mov rcx, qword [0x141d019d0]
xor edx, edx
mov r8, qword [rsp + 0xa8]
call rsi
nop
add rsp, 0x1158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test rax, rax
jne 0x140010ffb
call fcn.140053cb0
jmp 0x1400105f0
ud2
lea rax, [0x141ce0517]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x158]
mov rcx, qword [rsp + 0x158]
mov dword [rsp + 0x158], 0xe314eaf2
mov edx, dword [rsp + 0x158]
call fcn.140006f20
mov rcx, qword [rax]
mov rcx, qword [rax + 8]
mov rcx, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov ecx, dword [rax + 0x20]
movzx eax, word [rax + 0x24]
ud2
call qword [0x141cfe028]
ud2