Function at 0x140010550
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.1400477a0
sub rsp, rax
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rcx
lea rax, [0x141ced53f]
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.140007610
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx ebx, byte [rax + 6]
movzx eax, byte [0x141d049e0]
mov edx, 7
xor ecx, ecx
call fcn.14003c1f0
test rax, rax
je 0x14001146b
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, [0x141cee889]
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.140006600
mov esi, dword [rax]
movzx ebx, byte [rax + 4]
movzx eax, byte [0x141d049e0]
mov edx, 5
xor ecx, ecx
call fcn.14003c1f0
test rax, rax
je 0x14001146b
mov r14, rax
xor bl, 0xe0
xor esi, 0x33bc865b
mov byte [rax + 4], bl
mov dword [rax], esi
lea rax, [0x141cef8c0]
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.140007690
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx ebx, byte [rax + 6]
movzx eax, byte [0x141d049e0]
mov edx, 7
xor ecx, ecx
call fcn.14003c1f0
test rax, rax
je 0x14001146b
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, [0x141cecd82]
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.140007440
mov rsi, qword [rax]
movzx ebx, byte [rax + 8]
movzx eax, byte [0x141d049e0]
mov edx, 9
xor ecx, ecx
call fcn.14003c1f0
test rax, rax
je 0x14001146b
mov r13, rax
xor bl, 0x8d
movabs rax, 0x1613b8aeeb9fdd76
xor rsi, rax
mov qword [r13], rsi
mov byte [r13 + 8], bl
lea rax, [0x141ce4861]
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.1400071d0
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx ebx, byte [rax + 6]
movzx eax, byte [0x141d049e0]
mov edx, 7
xor ecx, ecx
call fcn.14003c1f0
test rax, rax
je 0x14001146b
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, [0x141cefc58]
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.140006710
mov esi, dword [rax]
movzx ebx, byte [rax + 4]
movzx eax, byte [0x141d049e0]
mov edx, 5
xor ecx, ecx
call fcn.14003c1f0
test rax, rax
je 0x14001146b
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, [0x141cee614]
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.140006c60
mov rsi, qword [rax]
movzx eax, byte [0x141d049e0]
mov edx, 8
xor ecx, ecx
call fcn.14003c1f0
test rax, rax
je 0x14001146b
mov rbx, rax
movabs rax, 0x1b37bbefa08bf51b
xor rsi, rax
mov qword [rbx], rsi
lea rax, [0x141cf1910]
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.140006fa0
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx eax, byte [0x141d049e0]
mov edx, 6
xor ecx, ecx
call fcn.14003c1f0
test rax, rax
je 0x14001146b
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 [0x141d049e0]
mov edx, 0x80
xor ecx, ecx
call fcn.14003c1f0
test rax, rax
je 0x14001146b
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 [0x141d049e4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x18]
cmp rax, 1
jne 0x14001145c
mov eax, dword [0x141d049e4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 0x20]
inc qword [rsi]
je 0x14001146b
mov rax, qword [rsi + 0x110]
cmp rax, 0x3f
jbe 0x140010acc
lea rdx, [rsi + 0x10]
lea rcx, [rsi + 0x120]
mov rax, qword [rsi + 0x158]
test rax, rax
jle 0x140010ac5
cmp qword [rsi + 0x160], 0
js 0x140010ac5
add rax, 0xffffffffffffff00
mov qword [rsi + 0x158], rax
call fcn.140025ed0
jmp 0x140010aca
call fcn.1400053b0
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 0x140010ba5
lea rax, [0x141ceacb0]
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.140007400
mov r14, qword [rax]
mov rsi, qword [rax + 8]
movzx eax, byte [0x141d049e0]
mov ebx, 0x10
mov edx, 0x10
xor ecx, ecx
call fcn.14003c1f0
test rax, rax
mov r13, qword [rsp + 0x38]
je 0x14001146b
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 0x140010c57
lea rax, [0x141ce90ec]
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.140006e10
mov r14, qword [rax]
mov ebp, dword [rax + 8]
movzx esi, word [rax + 0xc]
movzx r15d, byte [rax + 0xe]
movzx eax, byte [0x141d049e0]
mov ebx, 0xf
mov edx, 0xf
xor ecx, ecx
call fcn.14003c1f0
test rax, rax
mov r13, qword [rsp + 0x38]
je 0x14001146b
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.14000fc90
lea rcx, [rsp + 0x130]
mov rdx, rsi
mov r8, rdi
call fcn.14000fc90
mov r14, qword [rsp + 0x120]
mov r15, qword [rsp + 0x128]
movzx eax, byte [0x141d049e0]
xor ecx, ecx
mov rdx, rbx
call fcn.14003c1f0
test rax, rax
je 0x14001146b
mov r12, rax
mov rcx, rax
mov rdx, qword [rsp + 0x50]
mov r8, rbx
call fcn.140048620
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.14002f3e0
mov r15, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x168]
cmp qword [rsp + 0x118], 0
je 0x140010d27
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, r14
call qword [0x141d009f0]
mov rcx, rsi
mov rdx, rbx
call fcn.140030240
test rax, rax
jne 0x14001146b
test rbx, rbx
js 0x14001146b
mov qword [rsp + 0xa0], r15
mov r14, qword [rsp + 0x138]
mov r15, qword [rsp + 0x140]
je 0x140010d7c
movzx eax, byte [0x141d049e0]
xor ecx, ecx
mov rdx, rbx
call fcn.14003c1f0
mov r12, rax
test rax, rax
jne 0x140010d82
jmp 0x14001146b
mov r12d, 1
mov rcx, r12
mov rdx, rsi
mov r8, rbx
call fcn.140048620
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.14002f3e0
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 0x140010e00
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, r14
call qword [0x141d009f0]
mov rcx, r15
mov rdx, rbx
call fcn.140030240
test rax, rax
jne 0x14001146b
test rbx, rbx
js 0x14001146b
je 0x140010e3d
movzx eax, byte [0x141d049e0]
xor ecx, ecx
mov rdx, rbx
call fcn.14003c1f0
mov r14, rax
test rax, rax
jne 0x140010e43
jmp 0x14001146b
mov r14d, 1
mov rcx, r14
mov qword [rsp + 0x90], r15
mov rdx, r15
mov r8, rbx
call fcn.140048620
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.14002f3e0
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.14002e8b0
test rax, rax
jne 0x14001146b
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 0x14001146d
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 0x14001146b
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x80], rsi
lea rcx, [rsp + 0x158]
mov rdx, rbx
call fcn.14002eb50
cmp dword [rsp + 0x158], 2
je 0x14001146b
mov rsi, qword [rsp + 0x190]
mov r14, qword [rsp + 0x58]
cmp rsi, 0x2a1fffff
mov qword [rsp + 0x30], r12
ja 0x140011037
mov qword [rsp + 0x158], 0
lea r8, [rsp + 0x158]
mov rcx, r14
xor edx, edx
mov r9d, 2
call qword [0x141d00ac8]
test eax, eax
je 0x1400114bb
lea rbx, [rsp + 0x158]
mov r8d, 0x1000
mov rcx, rbx
xor edx, edx
call fcn.140048cd0
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 0x14001146b
sub r13, r12
jne 0x140011000
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov rcx, r14
call qword [0x141d007f8]
test r15, r15
js 0x14001146b
je 0x140011094
movzx eax, byte [0x141d049e0]
xor ecx, ecx
mov rdx, r15
call fcn.14003c1f0
test rax, rax
je 0x14001146b
mov r14, rax
mov rcx, rax
mov rdx, r12
mov r8, r15
call fcn.140048620
movzx eax, byte [0x141d049e0]
xor ecx, ecx
mov rdx, r15
call fcn.14003c1f0
mov rbx, rax
test rax, rax
jne 0x1400110af
jmp 0x14001146b
mov r14d, 1
mov ecx, 1
mov rdx, r12
mov r8, r15
call fcn.140048620
mov ebx, 1
movabs rsi, 0x8000000000000000
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.140048620
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 0x1400111a4
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, r14
call qword [0x141d009f0]
mov dword [rsp + 0x21c], 0x8000000
mov dword [rsp + 0x148], 0
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0x158]
lea r8, [rsp + 0x148]
call fcn.1400321b0
mov rbp, qword [rsp + 0xd8]
mov r14, qword [rsp + 0xe8]
cmp r14, 2
jne 0x1400111f2
mov rbx, rbp
jmp 0x140011237
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, [0x141cee02c]
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.140006ff0
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 0x14001146b
mov r13, qword [0x141d007f8]
mov rcx, rbp
call r13
mov rcx, r15
call r13
test r14, r14
je 0x1400112ae
mov rcx, rbx
call qword [0x141d007f8]
test sil, 1
mov r14, qword [rsp + 0xc8]
mov r15, qword [rsp + 0xc0]
mov r13, r12
mov r12, qword [rsp + 0xb8]
jne 0x1400112da
mov rcx, qword [rsp + 0x70]
call qword [0x141d007f8]
test byte [rsp + 0x2f], 1
mov rsi, qword [rsp + 0x60]
jne 0x1400112f1
mov rcx, qword [rsp + 0x78]
call qword [0x141d007f8]
lea rcx, [rsp + 0x158]
call fcn.140004490
cmp qword [rsp + 0x48], 0
mov rbx, qword [rsp + 0xd0]
je 0x140011325
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, qword [rsp + 0x88]
call qword [0x141d009f0]
cmp qword [rsp + 0x40], 0
je 0x140011341
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, qword [rsp + 0x30]
call qword [0x141d009f0]
cmp qword [rsp + 0x98], 0
je 0x140011363
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, qword [rsp + 0x90]
call qword [0x141d009f0]
cmp qword [rsp + 0xa0], 0
je 0x140011385
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, qword [rsp + 0x80]
call qword [0x141d009f0]
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, qword [rsp + 0x50]
call qword [0x141d009f0]
dec qword [rsi]
jne 0x1400113b6
dec qword [rsi + 8]
jne 0x1400113b6
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, rsi
call qword [0x141d009f0]
mov rcx, qword [0x141d049c8]
mov rsi, qword [0x141d009f0]
xor edx, edx
mov r8, rdi
call rsi
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, rbx
call rsi
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, r14
call rsi
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, r15
call rsi
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, r13
call rsi
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, r12
call rsi
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, qword [rsp + 0x68]
call rsi
mov rcx, qword [0x141d049c8]
xor edx, edx
mov r8, qword [rsp + 0xb0]
call rsi
mov rcx, qword [0x141d049c8]
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 0x14001146b
call fcn.140053e90
jmp 0x140010a60
ud2
lea rax, [0x141ce2f17]
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.1400074c0
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 [0x141d00938]
ud2