Function at 0x1801248d0
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x338
mov rbp, qword [rcx + 0x10]
mov r12d, dword [rsp + 0x3a8]
mov dword [rax - 0x1f8], 2
mov qword [rax - 0x200], rbp
mov qword [rax - 0x1d0], rbp
mov qword [rax - 0x228], rbp
mov qword [rax - 0x1b8], rbp
mov dword [rax - 0x1b0], 3
mov qword [rax - 0x1e8], rbp
mov dword [rax - 0x1e0], 3
mov qword [rsp + 0x78], rbp
mov dword [rax - 0x2f8], 3
mov r9d, 1
mov r13, r8
xor r8d, r8d
mov qword [rax - 0x208], r8
mov dword [rax - 0x1f4], r8d
mov dword [rax - 0x1c8], r9d
mov qword [rax - 0x1d8], r8
mov dword [rax - 0x1c4], r8d
mov dword [rax - 0x220], r9d
mov qword [rax - 0x1c0], r8
mov dword [rax - 0x1ac], r8d
mov qword [rax - 0x1f0], r8
mov dword [rax - 0x1dc], r8d
mov qword [rsp + 0x70], r8
mov dword [rax - 0x2f4], r8d
mov eax, dword [rcx + 0x1d8]
mov rsi, rdx
mov rdx, r8
mov dword [rsp + 0x160], eax
mov rax, qword [rcx + 0x1d0]
mov r14, rcx
mov qword [rsp + 0x328], rax
mov rax, qword [rcx + 0x1c8]
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x308], rax
mov eax, r12d
mov qword [rsp + 0x168], rdx
and eax, 4
mov dword [rsp + 0xd4], r8d
mov r15, r8
mov qword [rsp + 0x58], r8
mov dword [rsp + 0x50], r8d
mov dword [rsp + 0xd0], eax
jne 0x180124a1f
mov qword [rcx + 0x1d0], r8
mov qword [rcx + 0x1c8], r8
movzx eax, byte [rcx + 0x1f8]
mov byte [rsp + 0x88], dl
mov byte [rsp + 0x380], al
movzx eax, byte [rcx + 0x1f9]
mov byte [rsp + 0x8a], al
movzx eax, byte [rcx + 0x1fa]
mov byte [rsp + 0x8c], al
movzx eax, byte [rcx + 0x1b0]
mov byte [rsp + 0x8b], al
movzx eax, byte [rcx + 0x1b3]
mov rcx, qword [rcx + 0x30]
mov byte [rsp + 0x89], al
mov eax, dword [r14 + 0x128]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1d8], rax
mov eax, dword [r14 + 0x13c]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1e8], rax
mov eax, dword [r14 + 0x140]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1e0], rax
mov eax, dword [r14 + 0x134]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1d0], rax
mov eax, dword [r14 + 0x5c]
mov rax, qword [rcx + rax*8]
mov ecx, 0xffffffff
mov qword [rsp + 0x1f0], rax
movzx eax, byte [rbp + 0xcef9]
mov qword [rsp + 0x230], r8
shr eax, 2
mov dword [rsp + 0x238], r8d
mov dword [rsp + 0x23c], r8d
not eax
mov byte [rsp + 0x240], dl
mov dword [rsp + 0x204], r9d
and eax, 2
mov dword [rsp + 0x210], r8d
mov dword [rsp + 0x214], r8d
or eax, r9d
mov dword [rsp + 0x218], r8d
mov dword [rsp + 0x21c], r8d
mov dword [rsp + 0x220], ecx
mov dword [rsp + 0x224], r8d
mov qword [rsp + 0x208], r8
mov dword [rsp + 0x200], eax
mov byte [rsp + 0x228], dl
mov qword [rsp + 0x248], r8
test rbp, rbp
je 0x180124b79
test byte [rbp + 0xcefa], 2
jne 0x180124b6e
test byte [rbp + 0xcef9], 0x80
je 0x180124b79
mov dword [rsp + 0x204], 3
movzx eax, byte [rbp + 0xcef9]
mov qword [rsp + 0x2d0], r8
mov dword [rsp + 0x2d8], r8d
shr eax, 5
mov dword [rsp + 0x2dc], r8d
mov byte [rsp + 0x2e0], dl
not eax
mov dword [rsp + 0x2a4], r8d
mov dword [rsp + 0x2b0], r8d
and eax, r9d
mov dword [rsp + 0x2b4], r8d
mov dword [rsp + 0x2b8], r8d
or eax, 2
mov dword [rsp + 0x2bc], r8d
mov dword [rsp + 0x2c0], ecx
mov dword [rsp + 0x2c4], r8d
mov qword [rsp + 0x2a8], r8
mov byte [rsp + 0x2c8], dl
mov dword [rsp + 0x2a0], eax
mov qword [rsp + 0x2e8], r8
test rbp, rbp
je 0x180124c21
test byte [rbp + 0xcefa], 2
jne 0x180124c16
test byte [rbp + 0xcef9], 0x80
je 0x180124c21
mov dword [rsp + 0x2a4], 2
mov qword [rsp + 0x280], r8
mov dword [rsp + 0x288], r8d
mov dword [rsp + 0x28c], r8d
mov byte [rsp + 0x290], dl
mov dword [rsp + 0x250], r8d
mov dword [rsp + 0x254], r8d
mov dword [rsp + 0x260], r8d
mov dword [rsp + 0x264], r8d
mov dword [rsp + 0x268], r8d
mov dword [rsp + 0x26c], r8d
mov dword [rsp + 0x270], ecx
mov dword [rsp + 0x274], r8d
mov qword [rsp + 0x258], r8
mov byte [rsp + 0x278], dl
mov qword [rsp + 0x298], r8
test rbp, rbp
je 0x180124cb8
test byte [rbp + 0xcefa], 2
jne 0x180124cad
test byte [rbp + 0xcef9], 0x80
je 0x180124cb8
mov dword [rsp + 0x254], 2
mov ecx, r8d
lea r8, [0x180027110]
mov rax, r8
cmp dword [rax], 0x14
jae 0x180124cdc
inc ecx
add rax, 4
cmp ecx, 0x1c
jb 0x180124cc5
mov edi, 0x14
jmp 0x180124ce2
mov eax, ecx
mov edi, dword [r8 + rax*4]
lea eax, [rdi + rdi*2]
cmp eax, 0x1ffffffe
jbe 0x180124cf3
mov ebx, 0x80070216
jmp 0x180124d2e
shl eax, 3
mov ecx, 8
test eax, eax
cmove eax, ecx
lea rcx, [rbp + 0xd340]
mov edx, eax
mov dword [rsp + 0xd4], eax
call fcn.1800c58b0
mov ebx, 0x8007000e
mov rcx, r15
test rax, rax
mov rdx, rax
mov qword [rsp + 0x168], rax
cmovne ebx, ecx
test ebx, ebx
js 0x180127238
mov r8, rdx
lea rcx, [rsp + 0x200]
mov edx, edi
call fcn.18011e260
mov ebx, eax
test eax, eax
js 0x180127238
mov rsi, qword [rsp + 0x168]
mov eax, edi
lea rcx, [rsp + 0x2a0]
lea rbp, [rax*8]
mov edx, edi
add rsi, rbp
mov r8, rsi
call fcn.18011e260
mov ebx, eax
test eax, eax
js 0x18012722b
lea r8, [rbp + rsi]
lea rcx, [rsp + 0x250]
mov edx, edi
call fcn.18011e260
mov ebx, eax
test eax, eax
js 0x18012722b
mov rcx, qword [r14 + 0x10]
xor ebp, ebp
test byte [rcx + 0xcefc], 1
je 0x180124dda
lea rdx, [rsp + 0x2a0]
lea rax, [rsp + 0x250]
lea r15, [rsp + 0x200]
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xb0], rax
jmp 0x180124dea
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0xb0], rbp
mov rsi, qword [rsp + 0x388]
test byte [rsi + 0x128], 4
je 0x180124e36
mov rax, qword [rsi + 0x18]
lea rdx, [rsi + 0x20]
lea r9, [0x1800440f8]
mov r8d, 0xdac
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov ebx, 0x80004001
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x58]
jmp 0x18012723b
mov eax, r12d
mov edi, 0x10
and eax, 1
mov dword [rsp + 0x90], eax
je 0x180125f13
mov rdx, qword [rsi + 0x18]
call fcn.180190410
mov ebx, eax
test eax, eax
js 0x180124e22
mov rcx, qword [r14 + 0x10]
movzx eax, byte [rcx + 0xcef9]
test dil, al
je 0x1801250a6
mov rdx, qword [rsi + 0xe8]
lea rax, [0x180026c20]
lea r12, [rsi + 0x20]
mov qword [rsp + 0xb8], rax
lea rax, [0x180026c50]
lea r9d, [rdi - 0xd]
mov qword [rsp + 0xc0], rax
lea rax, [0x180026c80]
lea r8, [rsp + 0xb8]
mov rcx, r14
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x20], r12
mov qword [rsp + 0xc8], rax
call fcn.180101b80
mov ebx, eax
test eax, eax
js 0x180124e22
mov rbx, qword [rsp + 0xb8]
mov rdx, qword [rsi + 0xe8]
lea r9, [rsp + 0xe0]
mov r8, rbx
mov rcx, r14
call fcn.1801006e0
mov r8, qword [rsp + 0xc0]
mov rdx, qword [rsi + 0xe8]
lea r9, [rsp + 0x130]
mov rcx, r14
movzx edi, al
call fcn.1801006e0
test dil, dil
je 0x180124fad
test al, al
je 0x180124f4f
mov rcx, qword [rsi + 0xe8]
call fcn.18010f0c0
lea r9, [0x180040488]
mov r8d, 0xdc4
mov rdx, rax
mov rax, qword [rbx + 8]
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov rax, qword [rsp + 0xe8]
mov r11d, 0xffffffff
cmp rax, r11
ja 0x18012516b
mov rcx, qword [rsp + 0x138]
cmp rcx, r11
ja 0x18012516b
test dil, dil
cmovne ecx, eax
mov rax, qword [r14 + 0x10]
mov dword [rax + 0xcf14], ecx
mov rax, qword [r14 + 0x10]
mov rcx, r14
cmp dword [rax + 0xcf14], 0
jne 0x180124feb
mov rax, qword [rsi + 0x18]
lea r9, [0x180044150]
mov r8d, 0xdba
mov rdx, r12
jmp 0x180124fc8
test al, al
jne 0x180124f4f
mov rax, qword [rsi + 0x18]
lea r9, [0x180044128]
mov r8d, 0xdba
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov ebx, 0x80004005
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x58]
jmp 0x18012723b
mov r8, qword [rsp + 0xc8]
mov rdx, qword [rsi + 0xe8]
lea r9, [rsp + 0xe0]
call fcn.1801006e0
test al, al
je 0x180125085
mov rcx, qword [r14 + 0x10]
mov ebx, dword [rcx + 0xcedc]
test ebx, ebx
jne 0x180125028
mov rax, qword [rcx]
call qword [rax + 0x18]
lea r9, [0x180044188]
jmp 0x180124fbc
mov rax, qword [rsp + 0xe8]
cmp eax, 1
jae 0x18012504f
lea r9, [0x1800441a8]
mov r8d, 0xdba
mov rdx, r12
mov rcx, r14
call fcn.180109730
jmp 0x180124fd2
cmp eax, ebx
jbe 0x18012507f
mov rax, qword [rcx]
call qword [rax + 0x18]
lea r9, [0x1800441d0]
mov r8d, 0xdba
mov rdx, r12
mov rcx, r14
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
call fcn.180109730
jmp 0x180124fd2
mov dword [rcx + 0xcf18], eax
xor r10d, r10d
test r13, r13
je 0x180125f4f
mov rax, qword [r13 + 0x18]
mov rdi, qword [r13 + 0x10]
mov qword [rsp + 0xb8], rax
jmp 0x180125f5a
test al, 0x40
je 0x18012526c
mov rdx, qword [rsi + 0xe8]
lea r12, [rsi + 0x20]
lea rdi, [0x180026cb0]
lea r8, [rsp + 0xb8]
mov r9d, 1
mov rcx, r14
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x20], r12
call fcn.180101b80
mov ebx, eax
test eax, eax
js 0x180124e22
mov rdx, qword [rsi + 0xe8]
lea rax, [rsp + 0xe0]
mov r9d, 3
mov r8, rdi
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.1801011c0
mov r11d, 0xffffffff
mov ebx, eax
test eax, eax
js 0x180125170
mov r9, qword [rsp + 0xe8]
cmp r9, r11
ja 0x18012516b
mov r8, qword [rsp + 0x100]
cmp r8, r11
ja 0x18012516b
mov rbx, qword [rsp + 0x118]
cmp rbx, r11
ja 0x18012516b
cmp byte [r14 + 0x1b2], 0
mov dword [rsp + 0xb8], r9d
mov dword [rsp + 0xbc], r8d
mov dword [rsp + 0xc0], ebx
je 0x180125184
mov ebx, 0x80004005
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x58]
jmp 0x180127241
mov rax, qword [r14 + 0x10]
lea rdi, [0x1800438f8]
mov r10d, dword [rax + 0xceec]
mov eax, ebx
imul eax, r8d
imul eax, r9d
cmp eax, r10d
jbe 0x1801251e9
mov rcx, qword [rsi + 0xe8]
call fcn.18010f0c0
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x28], r9d
lea r9, [0x180044200]
mov rdx, rax
mov r8d, 0xe47
mov rcx, r14
mov qword [rsp + 0x20], rdi
call fcn.180109730
mov byte [r14 + 0x1b2], 1
mov rax, qword [r14 + 0x10]
mov r9d, dword [rax + 0xcef0]
cmp ebx, r9d
jbe 0x180125233
mov rcx, qword [rsi + 0xe8]
call fcn.18010f0c0
mov dword [rsp + 0x30], r9d
lea r9, [0x180044250]
mov r8d, 0xe47
mov rcx, r14
mov rdx, rax
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], ebx
call fcn.180109730
mov byte [r14 + 0x1b2], 1
mov rcx, qword [r14 + 0x10]
lea rdx, [rsp + 0xb8]
mov eax, dword [rdx]
mov dword [rcx + 0xd200], eax
mov eax, dword [rdx + 4]
mov dword [rcx + 0xd204], eax
mov eax, dword [rdx + 8]
mov dword [rcx + 0xd208], eax
cmp byte [r14 + 0x1b2], 0
je 0x180125085
jmp 0x180124fd2
test al, al
jns 0x180125a7c
test byte [rcx + 0xcefa], 1
jne 0x180125a7c
mov rdx, qword [rsi + 0xe8]
lea rax, [0x180026d40]
lea rbp, [rsi + 0x20]
mov qword [rsp + 0xf0], rax
lea rax, [0x180026d70]
lea r12, [0x180026ce0]
mov qword [rsp + 0xf8], rax
lea rax, [0x180026da0]
lea rdi, [0x180026d10]
mov qword [rsp + 0x100], rax
lea rax, [0x180026dd0]
lea r8, [rsp + 0xe0]
mov r9d, 6
mov rcx, r14
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0x108], rax
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x20], rbp
call fcn.180101b80
mov ebx, eax
test eax, eax
js 0x180124e22
mov rbx, qword [rsi + 0xe8]
xor eax, eax
lea r9, [rsp + 0xb8]
mov r8, r12
mov rcx, r14
mov rdx, rbx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rax
call fcn.1801006e0
test al, al
je 0x180125353
xor r12d, r12d
mov ebx, r12d
jmp 0x1801253ac
mov rcx, rbx
call fcn.18010f0c0
lea r9, [0x180040278]
mov r8d, 0xc0c
mov rdx, rax
mov rax, qword [0x180026cf8]
mov rcx, r14
mov qword [rsp + 0x38], rax
mov rax, qword [0x180026cf0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov rax, qword [0x180026ce8]
mov qword [rsp + 0x20], rax
call fcn.180109730
mov byte [r14 + 0x1b2], 1
mov ebx, 1
xor r12d, r12d
test ebx, ebx
js 0x180124e22
mov rbx, qword [rsi + 0xe8]
xor eax, eax
lea r9, [rsp + 0x2f0]
mov r8, rdi
mov rcx, r14
mov rdx, rbx
mov qword [rsp + 0x2f0], rax
mov qword [rsp + 0x2f8], rax
mov qword [rsp + 0x300], rax
call fcn.1801006e0
test al, al
je 0x1801253f9
mov ebx, r12d
mov edi, 1
jmp 0x180125451
mov rcx, rbx
call fcn.18010f0c0
lea r9, [0x180040278]
mov r8d, 0xc0c
mov rdx, rax
mov rax, qword [0x180026d28]
mov rcx, r14
mov qword [rsp + 0x38], rax
mov rax, qword [0x180026d20]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov rax, qword [0x180026d18]
mov qword [rsp + 0x20], rax
call fcn.180109730
mov edi, 1
mov ebx, edi
mov byte [r14 + 0x1b2], 1
test ebx, ebx
js 0x180124e22
mov rbx, qword [rsi + 0xe8]
xor eax, eax
lea r9, [rsp + 0x310]
lea r8, [0x180026d40]
mov rcx, r14
mov rdx, rbx
mov qword [rsp + 0x310], rax
mov qword [rsp + 0x318], rax
mov qword [rsp + 0x320], rax
call fcn.1801006e0
test al, al
je 0x18012549d
mov ebx, r12d
jmp 0x1801254f0
mov rcx, rbx
call fcn.18010f0c0
lea r9, [0x180040278]
mov r8d, 0xc0c
mov rdx, rax
mov rax, qword [0x180026d58]
mov rcx, r14
mov qword [rsp + 0x38], rax
mov rax, qword [0x180026d50]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov rax, qword [0x180026d48]
mov qword [rsp + 0x20], rax
call fcn.180109730
mov byte [r14 + 0x1b2], 1
mov ebx, edi
test ebx, ebx
js 0x180124e22
mov rbx, qword [rsi + 0xe8]
xor eax, eax
lea r9, [rsp + 0x130]
lea r8, [0x180026d70]
mov rcx, r14
mov rdx, rbx
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rax
call fcn.1801006e0
test al, al
je 0x18012553c
mov ebx, r12d
jmp 0x18012558f
mov rcx, rbx
call fcn.18010f0c0
lea r9, [0x180040278]
mov r8d, 0xc0c
mov rdx, rax
mov rax, qword [0x180026d88]
mov rcx, r14
mov qword [rsp + 0x38], rax
mov rax, qword [0x180026d80]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov rax, qword [0x180026d78]
mov qword [rsp + 0x20], rax
call fcn.180109730
mov byte [r14 + 0x1b2], 1
mov ebx, edi
test ebx, ebx
js 0x180124e22
mov rbx, qword [rsi + 0xe8]
xor eax, eax
lea r9, [rsp + 0xe0]
lea r8, [0x180026da0]
mov rcx, r14
mov rdx, rbx
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rax
call fcn.1801006e0
test al, al
je 0x1801255e0
mov ebx, r12d
mov edx, 1
jmp 0x180125638
mov rcx, rbx
call fcn.18010f0c0
lea r9, [0x180040278]
mov r8d, 0xc0c
mov rdx, rax
mov rax, qword [0x180026db8]
mov rcx, r14
mov qword [rsp + 0x38], rax
mov rax, qword [0x180026db0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov rax, qword [0x180026da8]
mov qword [rsp + 0x20], rax
call fcn.180109730
mov edx, 1
mov ebx, edx
mov byte [r14 + 0x1b2], 1
test ebx, ebx
js 0x180124e22
mov rax, qword [rsp + 0xc8]
mov rdi, qword [r14 + 0x10]
test eax, eax
jne 0x180125657
mov ebx, edx
jmp 0x1801256ef
mov rcx, qword [r14]
mov r9, qword [rsp + 0xc0]
lea r8d, [rax - 1]
lea rax, [rsp + 0xa8]
lea rdx, [rcx + 0x58]
add rcx, 0x78
mov qword [rsp + 0xa8], r12
mov qword [rsp + 0x20], rax
call fcn.180222570
mov ebx, eax
test eax, eax
js 0x1801256ea
mov rsi, qword [rsp + 0xa8]
mov rcx, r14
mov rdx, rsi
call fcn.180108f60
mov qword [rdi + 0xcf28], rax
test rax, rax
jne 0x1801256e2
lea r9, [0x18003fa68]
mov r8d, 0xdad
mov rdx, rbp
mov rcx, r14
mov qword [rsp + 0x20], rsi
call fcn.180109730
mov rsi, qword [rsp + 0x388]
mov edx, 1
mov ebx, edx
mov byte [r14 + 0x1b2], dl
jmp 0x1801256ef
mov rsi, qword [rsp + 0x388]
mov edx, 1
test ebx, ebx
js 0x180124e22
mov rax, qword [rsp + 0x300]
mov r12, qword [r14 + 0x10]
xor ecx, ecx
test eax, eax
jne 0x180125710
mov ebx, edx
jmp 0x1801257b8
mov rsi, qword [rsp + 0x2f8]
lea r13, [0x18025f210]
mov edi, ecx
mov rbx, r13
mov ebp, eax
nop word [rax + rax]
mov rdx, qword [rbx]
mov r8, rbp
mov rcx, rsi
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x180125797
inc edi
add rbx, 0x10
cmp edi, 3
jb 0x180125730
mov rdx, qword [rsp + 0x68]
mov byte [r14 + 0x1b2], 1
mov rax, qword [0x180026d28]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
mov rax, qword [0x180026d20]
lea r9, [0x1800402d8]
mov r8d, 0xe49
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov edx, 1
mov ebx, edx
xor ecx, ecx
jmp 0x1801257b0
mov eax, edi
add rax, rax
xor ecx, ecx
mov eax, dword [r13 + rax*8 + 8]
mov ebx, ecx
lea edx, [rcx + 1]
mov dword [r12 + 0xcf30], eax
mov r13, qword [rsp + 0x390]
test ebx, ebx
js 0x180125ee5
mov rax, qword [rsp + 0x320]
mov r12, qword [r14 + 0x10]
test eax, eax
jne 0x1801257d9
mov ebx, edx
xor ecx, ecx
jmp 0x180125876
mov rsi, qword [rsp + 0x318]
mov edi, ecx
mov ebp, eax
lea rbx, [0x18025f240]
nop dword [rax]
mov rdx, qword [rbx]
mov r8, rbp
mov rcx, rsi
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x180125857
inc edi
add rbx, 0x10
cmp edi, 4
jb 0x1801257f0
mov rdx, qword [rsp + 0x68]
mov byte [r14 + 0x1b2], 1
mov rax, qword [0x180026d58]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
mov rax, qword [0x180026d50]
lea r9, [0x1800402d8]
mov r8d, 0xe49
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov edx, 1
mov ebx, edx
xor ecx, ecx
jmp 0x180125876
lea rcx, [0x18025f240]
mov eax, edi
add rax, rax
mov eax, dword [rcx + rax*8 + 8]
xor ecx, ecx
mov dword [r12 + 0xcf34], eax
mov ebx, ecx
lea edx, [rcx + 1]
test ebx, ebx
js 0x180125ee5
mov rax, qword [rsp + 0x140]
mov r12, qword [r14 + 0x10]
test eax, eax
jne 0x180125895
mov ebx, edx
jmp 0x180125932
mov rsi, qword [rsp + 0x138]
mov edi, ecx
mov ebp, eax
lea rbx, [0x18025f280]
nop dword [rax + rax]
mov rdx, qword [rbx]
mov r8, rbp
mov rcx, rsi
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x180125916
inc edi
add rbx, 0x10
cmp edi, 4
jb 0x1801258b0
mov r12, qword [rsp + 0x68]
mov byte [r14 + 0x1b2], 1
mov rax, qword [0x180026d88]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
mov rax, qword [0x180026d80]
lea r9, [0x1800402d8]
mov r8d, 0xe49
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov ebx, 1
jmp 0x180125937
lea rcx, [0x18025f280]
mov eax, edi
add rax, rax
mov eax, dword [rcx + rax*8 + 8]
xor ecx, ecx
mov dword [r12 + 0xcf38], eax
mov ebx, ecx
mov r12, qword [rsp + 0x68]
test ebx, ebx
js 0x180125ee5
mov rcx, qword [r14 + 0x10]
mov rsi, qword [rsp + 0x388]
mov eax, dword [rcx + 0xcf38]
cmp eax, 2
je 0x180125970
add eax, 0xfffffffd
cmp eax, 1
ja 0x1801259a2
cmp dword [rcx + 0xcf30], 1
jne 0x1801259a2
lea r9, [0x1800442f0]
jmp 0x180125980
cmp dword [rcx + 0xcf30], 1
je 0x1801259a2
lea r9, [0x1800442a0]
mov rax, qword [rsi + 0x18]
mov r8d, 0xe49
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov byte [r14 + 0x1b2], 1
mov rcx, qword [rsp + 0xe8]
mov r11d, 0xffffffff
cmp rcx, r11
ja 0x18012516b
mov rax, qword [r14 + 0x10]
lea r9, [rsp + 0xe0]
lea r8, [0x180026dd0]
mov dword [rax + 0xcf3c], ecx
mov rdx, qword [rsi + 0xe8]
mov rcx, r14
call fcn.1801006e0
mov rcx, qword [r14 + 0x10]
mov byte [rcx + 0xcf1d], al
mov rax, qword [r14 + 0x10]
cmp byte [rax + 0xcf1d], 0
je 0x180125a58
movsd xmm0, qword [rsp + 0xe8]
movsd qword [rax + 0xcf20], xmm0
movsd xmm0, qword [0x180068590]
mov rax, qword [r14 + 0x10]
movsd xmm1, qword [rax + 0xcf20]
comisd xmm0, xmm1
ja 0x180125a2d
comisd xmm1, xmmword [0x1800687d8]
jbe 0x180125a69
mov rax, qword [rsi + 0x18]
lea r9, [0x180044338]
mov r8d, 0xe49
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov byte [r14 + 0x1b2], 1
jmp 0x180125a69
movabs rcx, 0x4050000000000000
mov qword [rax + 0xcf20], rcx
cmp byte [r14 + 0x1b2], 0
je 0x180125085
jmp 0x180124fd2
test byte [rcx + 0xcefa], 2
je 0x180125c5c
mov rdx, qword [rsi + 0xe8]
lea rax, [rsi + 0x20]
lea rdi, [0x180026d10]
lea r8, [rsp + 0xb8]
mov r9d, 1
mov rcx, r14
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x20], rax
call fcn.180101b80
mov ebx, eax
test eax, eax
js 0x180124e22
mov rbx, qword [rsi + 0xe8]
xor eax, eax
lea r9, [rsp + 0x130]
mov r8, rdi
mov rcx, r14
mov rdx, rbx
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rax
call fcn.1801006e0
test al, al
je 0x180125b11
mov ebx, ebp
mov ecx, 1
jmp 0x180125b69
mov rcx, rbx
call fcn.18010f0c0
lea r9, [0x180040278]
mov r8d, 0xc0c
mov rdx, rax
mov rax, qword [0x180026d28]
mov rcx, r14
mov qword [rsp + 0x38], rax
mov rax, qword [0x180026d20]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov rax, qword [0x180026d18]
mov qword [rsp + 0x20], rax
call fcn.180109730
mov ecx, 1
mov ebx, ecx
mov byte [r14 + 0x1b2], 1
test ebx, ebx
js 0x180124e22
mov rax, qword [rsp + 0x140]
mov r12, qword [r14 + 0x10]
test eax, eax
je 0x180125c3a
mov rsi, qword [rsp + 0x138]
lea r13, [0x18025f210]
mov edi, ebp
mov rbx, r13
mov ebp, eax
nop dword [rax + rax]
mov rdx, qword [rbx]
mov r8, rbp
mov rcx, rsi
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x180125c16
inc edi
add rbx, 0x10
cmp edi, 3
jb 0x180125ba0
mov r12, qword [rsp + 0x68]
mov byte [r14 + 0x1b2], 1
mov rax, qword [0x180026d28]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
mov rax, qword [0x180026d20]
lea r9, [0x1800402d8]
mov r8d, 0xe49
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov r13, qword [rsp + 0x390]
mov rsi, qword [rsp + 0x388]
mov ebx, 1
jmp 0x180125c41
mov rsi, qword [rsp + 0x388]
mov eax, edi
add rax, rax
xor ecx, ecx
mov eax, dword [r13 + rax*8 + 8]
mov r13, qword [rsp + 0x390]
mov dword [r12 + 0xcf30], eax
mov r12, qword [rsp + 0x68]
mov ebx, ecx
test ebx, ebx
js 0x180124e22
cmp byte [r14 + 0x1b2], 0
je 0x180125085
jmp 0x180124fd2
test al, 0x20
je 0x180125ce9
cmp dword [rcx + 0xced0], 5
jb 0x180125ce9
mov rdx, qword [rsi + 0xe8]
lea r12, [rsi + 0x20]
lea rdi, [0x180026e00]
lea r8, [rsp + 0xb8]
mov r9d, 1
mov rcx, r14
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x20], r12
call fcn.180101b80
mov ebx, eax
test eax, eax
js 0x180124e22
mov rdx, qword [rsi + 0xe8]
mov r8, rdi
mov rcx, r14
call fcn.180100e20
movzx r11d, al
mov rax, qword [r14 + 0x10]
shl r11d, 9
xor r11d, dword [rax + 0xd228]
and r11d, 0x200
xor dword [rax + 0xd228], r11d
jmp 0x180125085
test al, 8
je 0x180125f13
test byte [rcx + 0xcf04], 2
je 0x180125f13
mov rdx, qword [rsi + 0xe8]
lea rax, [0x180026e30]
lea r12, [rsi + 0x20]
lea r8, [rsp + 0xa8]
mov r9d, 1
mov rcx, r14
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x20], r12
mov qword [rsp + 0xd8], rbp
mov dword [rsp + 0xa4], ebp
call fcn.180101b80
mov ebx, eax
test eax, eax
js 0x180124e22
mov rdx, qword [rsi + 0xe8]
lea rax, [rsp + 0xa4]
lea r8, [rsp + 0xa8]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xd8]
mov rcx, r14
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], edi
mov edi, 1
mov r9d, edi
call fcn.180101670
mov ebx, eax
test eax, eax
js 0x1801274db
mov rdx, qword [rsp + 0xd8]
test rdx, rdx
je 0x180125085
mov rax, qword [r14 + 0x10]
mov rdi, qword [rdx + 0x30]
mov r12d, dword [rsp + 0xa4]
mov dword [rax + 0xd028], r12d
mov rcx, qword [r14 + 0x10]
mov rax, qword [rdx + 0x60]
mov qword [rcx + 0xd020], rax
mov rcx, qword [r14 + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x78]
xor r10d, r10d
mov ebp, r10d
test r12d, r12d
je 0x180125f45
mov esi, r10d
lea r8, [0x180040190]
test rdi, rdi
je 0x180125ee0
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x180125ee0
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x28], r8
mov ecx, esi
lea r9, [rax + rcx*8 + 0xcf60]
mov r8d, 4
mov rcx, r14
mov dword [rsp + 0x20], 0xe62
call fcn.180129a70
mov ebx, eax
test eax, eax
js 0x180125ee5
mov r10, qword [r14 + 0x10]
xor eax, eax
mov r8d, esi
mov r9d, eax
nop dword [rax]
mov eax, r8d
mov rdx, qword [r10 + rax*8 + 0xcf60]
mov rax, qword [rdx + 0xa8]
mov rcx, qword [rax + 0x10]
mov rax, rcx
and eax, 0x210
cmp rax, 0x210
jne 0x180125f01
shr rcx, 8
test cl, 1
jne 0x180125f01
cmp qword [rdx + 0xc0], 0xffffffffffffffff
jne 0x180125ebf
cmp qword [rdx + 0xb8], 0xffffffffffffffff
jne 0x180125ebf
inc r9d
inc r8d
cmp r9d, 4
jb 0x180125e50
mov rdi, qword [rdi + 0x18]
inc ebp
add esi, 4
cmp ebp, r12d
jb 0x180125df0
mov r12, qword [rsp + 0x68]
jmp 0x180125085
mov rcx, qword [rdi + 0x10]
call fcn.18010f0c0
lea r9, [0x1800443b0]
mov rdx, rax
mov r8d, 0xc0c
mov rcx, r14
call fcn.180109730
mov ebx, 0x80004005
mov rsi, qword [rsp + 0x388]
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x58]
jmp 0x18012723b
mov rcx, qword [rdi + 0x10]
call fcn.18010f0c0
lea r9, [0x180044370]
jmp 0x180125ecf
mov rdx, qword [rsi + 0xe8]
lea r12, [rsi + 0x20]
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x20], r12
call fcn.180101b80
mov ebx, eax
test eax, eax
js 0x180124e22
jmp 0x180125085
mov r12, qword [rsp + 0x68]
jmp 0x180125088
mov rdi, r10
mov qword [rsp + 0xb8], r10
mov rdx, qword [rsp + 0x388]
mov esi, r10d
mov rcx, qword [rdx + 0x70]
nop dword [rax]
test rcx, rcx
je 0x180125f87
cmp dword [rcx + 8], 2
jne 0x180125f87
add esi, dword [rcx + 0x4c]
mov rcx, qword [rcx + 0x80]
jmp 0x180125f70
cmp dword [rsp + 0x90], 0
mov dword [rsp + 0xa4], esi
je 0x180125fb2
mov rax, qword [r14 + 0x10]
mov rcx, qword [rax + 0xd020]
test rcx, rcx
je 0x180125fb2
add esi, dword [rcx + 0x4c]
mov dword [rsp + 0xa4], esi
lea rcx, [rsp + 0x170]
mov edx, esi
call fcn.1800c4620
mov ebx, eax
test eax, eax
js 0x180125ee5
mov rax, qword [rsp + 0x170]
mov r9d, dword [rsp + 0x3a8]
mov r8, qword [rsp + 0x398]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], esi
mov rsi, qword [rsp + 0x388]
mov rcx, r14
mov rdx, rsi
call fcn.180120890
mov ebx, eax
test eax, eax
js 0x180124e22
mov rax, qword [r14 + 8]
lea rcx, [rsp + 0x70]
mov ebp, dword [rax + 0x24]
mov rax, qword [r14 + 0x10]
mov r15d, dword [rax + 0x10]
mov esi, dword [rax + 0x14]
mov r13, qword [rax + 0x20]
add ebp, 0x11
mov dword [rsp + 0xa8], r15d
mov dword [rsp + 0xd8], esi
mov edx, ebp
call fcn.1800c4620
mov ebx, eax
test eax, eax
js 0x180125ee5
mov rdx, qword [r14 + 0x30]
mov rcx, qword [rsp + 0x70]
mov r8d, ebp
shl r8, 3
call sub.msvcrt.dll_memcpy
mov rcx, qword [r14 + 0x30]
mov al, byte [r14 + 0x1f8]
mov edx, dword [r14 + 0x13c]
mov byte [rsp + 0x380], al
mov al, byte [r14 + 0x1f9]
mov byte [rsp + 0x8a], al
mov al, byte [r14 + 0x1fa]
or r8, 0xffffffffffffffff
mov byte [rsp + 0x8c], al
mov eax, dword [r14 + 0x128]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1d8], rax
mov rax, qword [rcx + rdx*8]
mov qword [rsp + 0x1e8], rax
mov eax, dword [r14 + 0x140]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1e0], rax
mov eax, dword [r14 + 0x134]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1d0], rax
mov al, byte [r14 + 0x1b3]
mov byte [rsp + 0x89], al
mov al, byte [r14 + 0x1b0]
mov byte [rsp + 0x8b], al
mov eax, dword [r14 + 0x5c]
mov rax, qword [rcx + rax*8]
mov rcx, r14
mov byte [r14 + 0x1b3], 0
mov qword [rsp + 0x1f0], rax
call fcn.18010a220
mov ebx, eax
test eax, eax
js 0x180125ee5
mov edx, dword [r14 + 0x140]
or r8, 0xffffffffffffffff
mov rcx, r14
call fcn.18010a220
mov ebx, eax
test eax, eax
js 0x180125ee5
mov rcx, r14
call fcn.180106870
mov edx, dword [r14 + 0x134]
mov rcx, r14
mov r8, rax
call fcn.18010a220
mov ebx, eax
test eax, eax
js 0x180125ee5
cmp dword [rsp + 0xd0], 0
mov byte [r14 + 0x1f8], 0
mov byte [r14 + 0x1f9], 0
jne 0x1801261b4
mov edx, dword [r14 + 0x5c]
or r8, 0xffffffffffffffff
mov rcx, r14
mov byte [r14 + 0x1fa], 0
call fcn.18010a220
mov ebx, eax
test eax, eax
js 0x180125ee5
mov rax, qword [rsp + 0x388]
mov ebx, dword [rsp + 0x90]
mov byte [rsp + 0x88], 1
or byte [rax + 0x128], 4
test ebx, ebx
je 0x1801267f7
mov rcx, qword [r14 + 0x10]
test byte [rcx + 0xcef9], 0x80
je 0x1801262de
test byte [rcx + 0xcefa], 1
jne 0x1801262de
mov rax, qword [rax + 0x60]
nop dword [rax]
test rax, rax
je 0x180126211
cmp dword [rax + 8], 0xa
jne 0x180126211
mov rax, qword [rax + 0x38]
jmp 0x180126200
mov qword [rcx + 0xcf48], rax
mov rax, qword [r14 + 0x10]
lea rdx, [rsp + 0xb0]
mov rcx, qword [rax + 0xcf48]
mov rax, qword [rcx]
call qword [rax + 0x58]
test byte [rax], 1
je 0x1801262de
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rdx + 0xcf50]
test rcx, rcx
jne 0x180126268
mov rsi, qword [rsp + 0x388]
lea r9, [0x1800443f0]
mov r8d, 0xe60
mov rax, qword [rsi + 0x18]
jmp 0x180124fc2
mov eax, dword [rdx + 0xcf3c]
test eax, eax
jne 0x180126280
mov eax, dword [rdx + 0xcf40]
mov dword [rdx + 0xcf3c], eax
jmp 0x1801262de
cmp dword [rdx + 0xcf40], eax
je 0x1801262a6
mov rsi, qword [rsp + 0x388]
lea r9, [0x180044450]
mov r8d, 0xe60
mov rax, qword [rsi + 0x18]
jmp 0x180124fc2
mov rax, qword [rcx + 0x30]
nop word [rax + rax]
test rax, rax
je 0x1801262c1
cmp dword [rax + 8], 0xa
jne 0x1801262c1
mov rax, qword [rax + 0x38]
jmp 0x1801262b0
mov qword [rdx + 0xcf48], rax
mov rax, qword [r14 + 0x10]
mov byte [rax + 0xcf58], 1
mov rax, qword [r14 + 0x10]
mov byte [rax + 0xcf59], 1
test ebx, ebx
je 0x1801267f7
mov rcx, qword [r14 + 0x10]
test byte [rcx + 0xcefe], 4
je 0x1801267f7
lea rdx, [rcx + 0x498]
or r8, 0xffffffffffffffff
call fcn.1801b42c0
test al, al
je 0x1801267f7
mov rsi, qword [rsp + 0x388]
xor edi, edi
lea r9, [rsp + 0xb0]
mov qword [rsp + 0x30], rdi
xor r8d, r8d
mov rcx, r14
mov rdx, rsi
mov qword [rsp + 0x28], rdi
mov byte [r14 + 0x1fa], 1
mov dword [rsp + 0xb0], edi
mov qword [rsp + 0x20], rdi
call fcn.180122d90
mov ebx, eax
test eax, eax
js 0x180124fd7
mov esi, dword [rsp + 0xb0]
lea rcx, [rsp + 0x1a0]
mov edx, esi
call fcn.1800c46b0
mov ebx, eax
test eax, eax
js 0x1801267d4
lea rcx, [rsp + 0x188]
mov edx, esi
call fcn.1800c4620
mov ebx, eax
test eax, eax
js 0x1801267d4
mov rax, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x388]
mov qword [rsp + 0x30], rdi
xor r9d, r9d
mov r8d, esi
mov rcx, r14
mov qword [rsp + 0x28], rdi
mov qword [r14 + 0x1d0], rax
mov dword [r14 + 0x1d8], esi
mov qword [rsp + 0x20], rax
call fcn.180122d90
mov ebx, eax
test eax, eax
js 0x1801267d4
mov rax, qword [rsp + 0x188]
mov rcx, qword [r14 + 0x10]
lea rdx, [rsp + 0xb0]
mov qword [r14 + 0x1c8], rax
mov r8, qword [rcx + 0xd0e8]
xor r9d, r9d
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x20], edi
call fcn.18019f030
mov ebx, eax
test eax, eax
js 0x180125ee5
mov rdi, qword [rsp + 0xb0]
mov edx, dword [r14 + 0x5c]
mov rcx, r14
mov r8, rdi
call fcn.18010a220
mov ebx, eax
test eax, eax
js 0x180125ee5
mov rax, qword [rsp + 0x388]
mov eax, dword [rax + 0x48]
mov dword [rdi + 0x13c], eax
test esi, esi
je 0x180126476
xor eax, eax
mov rdx, rsi
mov rcx, rax
nop word [rax + rax]
mov rax, qword [r14 + 0x1c8]
add rcx, 8
sub rdx, 1
mov qword [rcx + rax - 8], rdi
jne 0x180126460
mov r9, qword [r14 + 0x1c8]
xor eax, eax
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov r8d, esi
and r8d, 0xfffff
mov qword [rsp + 0x28], rax
mov rdx, r12
or r8d, 0x50a00000
mov rcx, r14
mov qword [rsp + 0x20], r9
call fcn.18012ed20
mov ebx, eax
test eax, eax
js 0x180125ee5
mov rdx, qword [rsp + 0x98]
xor r12d, r12d
mov eax, 0xffffffff
lea rcx, [rsp + 0xe0]
mov edi, 4
mov qword [rsp + 0x110], r12
mov dword [rsp + 0x118], r12d
mov dword [rsp + 0x11c], r12d
mov byte [rsp + 0x120], r12b
mov dword [rsp + 0xe0], edi
mov dword [rsp + 0xe4], r12d
mov dword [rsp + 0xf0], r12d
mov dword [rsp + 0xf4], r12d
mov dword [rsp + 0xf8], r12d
mov dword [rsp + 0xfc], r12d
mov dword [rsp + 0x100], eax
mov dword [rsp + 0x104], r12d
mov qword [rsp + 0xe8], r12
mov byte [rsp + 0x108], r12b
mov qword [rsp + 0x128], r12
call fcn.18011df60
mov rax, qword [r14 + 0x1c8]
mov rdx, qword [rsp + 0x388]
lea r11, [rsp + 0xe0]
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov r8d, esi
mov rcx, r14
mov qword [rsp + 0x20], r12
call fcn.180122d90
mov ebx, eax
test eax, eax
jns 0x180126637
lea rcx, [rsp + 0x110]
call fcn.180120170
mov rdi, qword [rsp + 0xe8]
test rdi, rdi
je 0x1801265d3
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801265bf
mov rax, r12
jmp 0x1801265c5
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rsp + 0x128]
mov qword [rsp + 0xe8], r12
test rdi, rdi
je 0x18012660b
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801265f7
mov rax, r12
jmp 0x1801265fd
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rsp + 0x110]
mov qword [rsp + 0x128], r12
call fcn.180120170
mov rsi, qword [rsp + 0x388]
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
jmp 0x18012723b
test esi, esi
je 0x180126741
mov r10, r12
mov r11, rsi
lea rbx, [0x180027d22]
nop dword [rax]
mov rax, qword [r14 + 0x1c8]
mov r8, qword [r10 + rax]
movsxd rax, dword [r8 + 0xa4]
test byte [rbx + rax*4], 1
je 0x18012670e
mov rax, qword [r14 + 0x10]
mov rdx, qword [r8 + 0xa8]
mov r9, qword [rax + 0xd100]
cmp rdx, r9
je 0x1801266ec
test rdx, rdx
je 0x1801266b9
cmp rdx, 0xffffffffffffffff
je 0x1801266b9
mov rcx, qword [r8 + 8]
mov rax, qword [r8]
test rcx, rcx
je 0x18012669f
mov qword [rcx], rax
jmp 0x1801266a3
mov qword [rdx + 0x30], rax
mov rcx, qword [r8]
mov rax, qword [r8 + 8]
test rcx, rcx
je 0x1801266b5
mov qword [rcx + 8], rax
jmp 0x1801266b9
mov qword [rdx + 0x38], rax
test r9, r9
je 0x1801266e5
cmp r9, 0xffffffffffffffff
je 0x1801266e5
mov rax, qword [r9 + 0x38]
mov qword [r8 + 8], rax
mov rax, qword [r9 + 0x38]
test rax, rax
je 0x1801266da
mov qword [rax], r8
jmp 0x1801266de
mov qword [r9 + 0x30], r8
mov qword [r8], r12
mov qword [r9 + 0x38], r8
mov qword [r8 + 0xa8], r9
mov rcx, qword [r8 + 0xa8]
mov eax, dword [rcx + 0x18]
mov dword [r8 + 0x13c], eax
mov dword [r8 + 0xc8], eax
inc dword [rcx + 0x18]
mov dword [r8 + 0xcc], r12d
mov rcx, r8
call fcn.180199f00
mov rcx, qword [r8 + 0xa8]
mov eax, dword [rcx + 0x10]
shr rax, 0x1b
test al, 1
jne 0x180126733
mov dword [r8 + 0xf8], 0x2000
add r10, 8
sub r11, 1
jne 0x180126650
lea rcx, [rsp + 0x110]
call fcn.180120170
mov rbx, qword [rsp + 0xe8]
test rbx, rbx
je 0x18012677e
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x18012676a
mov rax, r12
jmp 0x180126770
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x128]
mov qword [rsp + 0xe8], r12
test rbx, rbx
je 0x1801267b6
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801267a2
mov rax, r12
jmp 0x1801267a8
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rsp + 0x110]
mov qword [rsp + 0x128], r12
call fcn.180120170
mov esi, dword [rsp + 0xd8]
jmp 0x1801267fc
mov rsi, qword [rsp + 0x388]
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
mov r12, rdi
mov r13d, edi
mov r11d, 0xffffffff
jmp 0x180127244
mov edi, 4
mov rax, qword [rsp + 0x388]
mov r9d, 2
xor r8d, r8d
mov rdx, qword [rax + 0xd8]
mov rcx, r14
xor r12b, r12b
call fcn.1800ff5d0
mov ebx, eax
test eax, eax
js 0x180126d72
mov rax, qword [rsp + 0x388]
mov r9d, edi
xor r8d, r8d
mov rdx, qword [rax + 0xd8]
mov rcx, r14
call fcn.1800ff5d0
mov ebx, eax
test eax, eax
js 0x180126d72
mov eax, dword [r14 + 0x134]
mov rdx, qword [r14 + 0x30]
lea r8, [rsp + 0xa0]
mov rdx, qword [rdx + rax*8]
mov rcx, r14
call fcn.180107760
mov r8d, dword [rsp + 0x90]
test eax, eax
js 0x1801268a0
cmp byte [rsp + 0xa0], r12b
je 0x1801268a0
mov r12b, 1
test r8d, r8d
je 0x1801268a0
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcefe], 4
je 0x1801268a0
inc dword [rax + 0x49c]
mov rax, qword [rsp + 0x388]
movzx edx, byte [r14 + 0x1b3]
mov ecx, dword [rax + 0x4c]
test ecx, ecx
je 0x1801268ec
test r8d, r8d
je 0x1801268ec
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcef9], 0x10
je 0x1801268ec
mov rsi, qword [rsp + 0x388]
mov rdx, qword [rsp + 0x68]
lea r9, [0x1800440c8]
mov rax, qword [rsi + 0x18]
mov r8d, 0xdb3
jmp 0x180124fc5
test r12b, r12b
jne 0x18012692a
test ecx, ecx
je 0x18012692a
test r8d, r8d
je 0x180126907
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcef9], 0x10
jne 0x18012692a
mov rsi, qword [rsp + 0x388]
mov rdx, qword [rsp + 0x68]
lea r9, [0x1800444e0]
mov rax, qword [rsi + 0x18]
mov r8d, 0xdb3
jmp 0x180124fc5
test edx, edx
je 0x180126d99
cmp byte [r14 + 0x1fa], 0
jne 0x180126d99
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcefe], 8
je 0x180126d99
xor r10d, r10d
mov edi, r10d
nop word [rax + rax]
mov ebx, r10d
mov r11d, r10d
test ebp, ebp
je 0x180126a28
mov rsi, qword [rsp + 0x70]
xor r15d, r15d
mov r10, r15
nop dword [rax]
mov rdx, qword [r14 + 0x30]
mov rax, qword [r10 + rdx]
cmp rax, 0xffffffffffffffff
je 0x180126a09
cmp rax, qword [rsi + r10]
je 0x180126a09
mov rdx, rax
mov rax, qword [rax + 0xa8]
mov ecx, dword [rax + 0x10]
shr rcx, 0x1a
test cl, 1
je 0x1801269f6
mov r9, qword [rdx + 0x108]
cmp dword [r9 + 0x110], r11d
jne 0x180126a09
test edi, edi
je 0x1801269f0
mov r8d, r15d
movsxd rdx, ebx
cmp dword [r9 + 0x4c], r15d
jbe 0x1801269f0
shl rdx, 2
nop
mov eax, dword [r9 + 0x48]
add rdx, 4
lea ecx, [r8 + rax]
mov rax, qword [r14 + 0x1d0]
inc r8d
mov dword [rdx + rax - 4], ecx
cmp r8d, dword [r9 + 0x4c]
jb 0x1801269d0
add ebx, dword [r9 + 0x4c]
jmp 0x180126a09
test edi, edi
je 0x180126a07
mov rax, qword [r14 + 0x1d0]
mov ecx, ebx
mov dword [rax + rcx*4], r11d
inc ebx
inc r11d
add r10, 8
cmp r11d, ebp
jb 0x180126980
mov r15d, dword [rsp + 0xa8]
mov esi, dword [rsp + 0xd8]
test edi, edi
jne 0x180126acd
cmp qword [rsp + 0x58], 0
movsxd rax, dword [rsp + 0x158]
mov r8d, dword [rsp + 0x50]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x150]
mov dword [r14 + 0x1d8], ebx
lea rcx, [rax + rcx*8 + 0xd250]
je 0x180126a86
mov rdx, qword [rcx]
test r8, r8
mov eax, 1
cmove r8, rax
cmp r8, qword [rdx + 8]
jae 0x180126a7b
sub qword [rdx + 8], r8
jmp 0x180126a86
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
xor eax, eax
lea rcx, [rsp + 0x148]
mov edx, ebx
mov qword [rsp + 0x148], rax
mov dword [rsp + 0x15c], eax
call fcn.1800c46b0
mov ebx, eax
test eax, eax
js 0x180126ae9
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x58], rax
mov qword [r14 + 0x1d0], rax
mov eax, dword [rsp + 0x15c]
mov dword [rsp + 0x50], eax
jmp 0x180126ada
cmp ebx, dword [r14 + 0x1d8]
jne 0x180126d6d
inc edi
cmp edi, 2
jae 0x180126b16
xor r10d, r10d
jmp 0x180126960
mov r13d, dword [rsp + 0x15c]
mov r12, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x388]
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
mov r11d, 0xffffffff
jmp 0x180127244
mov rax, qword [r14 + 0x470]
mov r9, qword [rsp + 0x70]
mov r8d, esi
mov edx, r15d
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.1801090f0
mov ebx, eax
test eax, eax
js 0x180126d72
mov edx, dword [r14 + 0x1d8]
lea rcx, [rsp + 0x1b8]
call fcn.1800c4620
mov ebx, eax
test eax, eax
js 0x180126d72
mov rax, qword [rsp + 0x1b8]
mov rcx, qword [r14 + 0x10]
lea rdx, [rsp + 0xa8]
mov qword [r14 + 0x1c8], rax
mov r8, qword [rcx + 0xd0e8]
xor edi, edi
xor r9d, r9d
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x20], edi
call fcn.18019f030
mov rsi, qword [rsp + 0x388]
mov ebx, eax
test eax, eax
js 0x180126d7a
mov r8, qword [rsp + 0xa8]
mov eax, dword [rsi + 0x48]
mov edx, edi
mov dword [r8 + 0x13c], eax
cmp dword [r14 + 0x1d8], edx
jbe 0x180126beb
mov rcx, rdi
nop word [rax + rax]
mov rax, qword [r14 + 0x1c8]
inc edx
add rcx, 8
mov qword [rcx + rax - 8], r8
cmp edx, dword [r14 + 0x1d8]
jb 0x180126bd0
mov r8d, dword [r14 + 0x1d8]
mov r9, qword [r14 + 0x1c8]
mov r15, qword [rsp + 0x68]
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], edi
and r8d, 0xfffff
mov qword [rsp + 0x30], rdi
mov rdx, r15
mov rcx, r14
or r8d, 0x50a00000
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r9
call fcn.18012ed20
mov ebx, eax
test eax, eax
js 0x180126d7a
mov ebx, edi
cmp dword [r14 + 0x1d8], ebx
jbe 0x180126c90
mov r10, rdi
mov r11, rdi
nop dword [rax]
mov rax, qword [r14 + 0x1c8]
mov rcx, qword [r11 + rax]
mov rax, qword [r14 + 0x1d0]
mov edx, dword [r10 + rax]
mov dword [rcx + 0xdc], edx
mov r8, qword [r14 + 0x30]
mov r8, qword [r8 + rdx*8]
mov rdx, qword [r14 + 0x10]
call fcn.180199fa0
inc ebx
add r11, 8
add r10, 4
cmp ebx, dword [r14 + 0x1d8]
jb 0x180126c50
mov rcx, qword [r14 + 0x10]
lea rdx, [rsp + 0x68]
xor r9d, r9d
mov r8, qword [rcx + 0xd0e8]
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x20], edi
call fcn.18019f030
mov ebx, eax
test eax, eax
js 0x180126d7a
mov r8, qword [rsp + 0x68]
mov edx, dword [r14 + 0x5c]
mov rcx, r14
call fcn.18010a220
mov ebx, eax
test eax, eax
js 0x180126d7a
mov rcx, r14
call fcn.180106870
mov edx, dword [r14 + 0x134]
mov rcx, r14
mov r8, rax
call fcn.18010a220
mov ebx, eax
test eax, eax
js 0x180126d7a
mov rdx, qword [rsi + 0xd8]
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.1800ff5d0
mov ebx, eax
test eax, eax
js 0x180126d7a
mov ebp, edi
cmp dword [r14 + 0x1d8], edi
jbe 0x180126d66
xor eax, eax
mov rsi, rax
nop dword [rax + rax]
mov rax, qword [r14 + 0x1d0]
mov r8, qword [r14 + 0x1c8]
mov rcx, r14
mov r8, qword [rdi + r8]
mov edx, dword [rsi + rax]
call fcn.18010a220
mov ebx, eax
test eax, eax
js 0x180126d72
inc ebp
add rsi, 4
add rdi, 8
cmp ebp, dword [r14 + 0x1d8]
jb 0x180126d30
mov edi, 4
jmp 0x180126d9e
mov ebx, 0x80004005
mov rsi, qword [rsp + 0x388]
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x50]
mov r11d, 0xffffffff
jmp 0x180127244
mov r15, qword [rsp + 0x68]
cmp byte [r14 + 0x1fa], 0
mov ebp, dword [rsp + 0x90]
je 0x180126f48
test ebp, ebp
je 0x180126f48
mov rsi, qword [rsp + 0x388]
test r12b, r12b
jne 0x180126de3
mov rdx, qword [rsi + 0xd0]
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.180144040
mov ebx, eax
test eax, eax
js 0x180126d7a
test r13, r13
mov eax, 0x10
cmovne edi, eax
mov rax, qword [r14 + 0x10]
or edi, 1
test dil, 4
je 0x180126e01
mov r13, qword [rax + 0x18]
jmp 0x180126e0b
test dil, 8
je 0x180126e0b
mov r13, qword [rax + 0x20]
test dil, 0x10
je 0x180126e27
test dil, 1
je 0x180126e1d
mov r13, qword [r13]
jmp 0x180126e27
test dil, 2
je 0x180126e27
mov r13, qword [r13 + 8]
test r13, r13
je 0x180127018
mov ebx, 0xffffffff
nop word [rax + rax]
mov r8d, dword [r13 + 0x78]
mov eax, r8d
and eax, 0xfff00000
je 0x180126f18
cmp eax, 0x50800000
jne 0x180126f18
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax]
mov eax, dword [rcx + 0x13c]
cmp eax, ebx
je 0x180126f2a
cmp eax, dword [rsi + 0x48]
jne 0x180126f18
and r8d, 0xfffff
movsxd r10, r8d
jbe 0x180126f06
xor eax, eax
mov r11d, r8d
shl r10, 3
mov r9, rax
nop word [rax + rax]
mov rax, qword [r13 + 0x18]
add r9, 8
add r10, 8
sub r11, 1
mov rcx, qword [r9 + rax - 8]
mov rdx, qword [r10 + rax - 8]
mov eax, dword [rcx + 0x13c]
mov dword [rdx + 0x13c], eax
mov eax, dword [rcx + 0xc8]
mov dword [rdx + 0xc8], eax
mov eax, dword [rcx + 0xcc]
mov dword [rdx + 0xcc], eax
mov rax, qword [rcx + 0x128]
mov qword [rdx + 0x128], rax
mov eax, dword [rcx + 0x130]
mov dword [rdx + 0x130], eax
mov eax, dword [rcx + 0x134]
mov dword [rdx + 0x134], eax
jne 0x180126ea0
and r8d, 0xfffff
or r8d, 0x50900000
mov dword [r13 + 0x78], r8d
mov r13, qword [r13]
test r13, r13
jne 0x180126e40
jmp 0x180127018
lea r9, [0x180044510]
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.180109730
mov ebx, 0x80004005
jmp 0x180126d7a
cmp dword [rsp + 0xd0], 0
mov rsi, qword [rsp + 0x388]
je 0x180126f7e
test r12b, r12b
jne 0x180126f7e
mov rdx, qword [rsi + 0xd0]
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.180144040
mov ebx, eax
test eax, eax
js 0x180126d7a
mov rax, qword [rsp + 0x3a0]
mov r9d, dword [rsp + 0x3a8]
mov r8, qword [rsp + 0x398]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x70]
mov rdx, rsi
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x170]
mov rcx, r14
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xb8]
mov qword [r14 + 0x100], 0xffffffffffffffff
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x98]
mov qword [r14 + 0x108], 0xffffffffffffffff
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0xa4]
mov qword [r14 + 0x110], 0xffffffffffffffff
mov dword [rsp + 0x20], eax
mov qword [r14 + 0x118], 0xffffffffffffffff
call fcn.180123f20
mov ebx, eax
test eax, eax
js 0x180126d7a
test ebp, ebp
je 0x1801271f6
mov eax, dword [r14 + 0x58]
mov rcx, qword [r14 + 0x30]
xor edi, edi
cmp qword [rcx + rax*8], 0xffffffffffffffff
je 0x1801270be
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x98], rax
mov rax, qword [rax + 0xa8]
test byte [rax + 0x10], 0x10
jne 0x1801270be
mov rax, qword [r14 + 0x10]
mov dword [rsp + 0x40], 0x11
lea r9, [rsp + 0x98]
mov rcx, qword [rax + 0xd100]
lea rax, [rsp + 0x98]
mov r8d, 0x70200001
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdi
mov rcx, r14
mov rdx, r15
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.18012e1f0
mov ebx, eax
test eax, eax
js 0x180126d7a
mov r8, qword [rsp + 0x98]
mov edx, dword [r14 + 0x58]
mov rcx, r14
call fcn.18010a220
mov ebx, eax
test eax, eax
js 0x180126d7a
mov eax, dword [r14 + 0x5c]
mov rcx, qword [r14 + 0x30]
cmp qword [rcx + rax*8], 0xffffffffffffffff
je 0x18012715a
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x98], rax
mov rax, qword [rax + 0xa8]
test byte [rax + 0x10], 0x10
jne 0x18012715a
mov rax, qword [r14 + 0x10]
mov dword [rsp + 0x40], 0x11
lea r9, [rsp + 0x98]
mov rcx, qword [rax + 0xd100]
lea rax, [rsp + 0x98]
mov r8d, 0x70200001
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdi
mov rcx, r14
mov rdx, r15
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.18012e1f0
mov ebx, eax
test eax, eax
js 0x180126d7a
mov r8, qword [rsp + 0x98]
mov edx, dword [r14 + 0x5c]
mov rcx, r14
call fcn.18010a220
mov ebx, eax
test eax, eax
js 0x180126d7a
mov eax, dword [r14 + 0x64]
mov rcx, qword [r14 + 0x30]
cmp qword [rcx + rax*8], 0xffffffffffffffff
je 0x1801271f6
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x98], rax
mov rax, qword [rax + 0xa8]
test byte [rax + 0x10], 0x10
jne 0x1801271f6
mov rax, qword [r14 + 0x10]
mov dword [rsp + 0x40], 0x11
lea r9, [rsp + 0x98]
mov rcx, qword [rax + 0xd100]
lea rax, [rsp + 0x98]
mov r8d, 0x70200001
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdi
mov rcx, r14
mov rdx, r15
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.18012e1f0
mov ebx, eax
test eax, eax
js 0x180126d7a
mov r8, qword [rsp + 0x98]
mov edx, dword [r14 + 0x64]
mov rcx, r14
call fcn.18010a220
mov ebx, eax
test eax, eax
js 0x180126d7a
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcef9], 0x80
je 0x180127222
test byte [rax + 0xcefa], 1
jne 0x180127222
test ebp, ebp
je 0x180127222
mov rcx, r14
call fcn.1801247f0
mov ebx, eax
test eax, eax
js 0x180126d7a
xor eax, eax
mov ebx, eax
jmp 0x180126d7a
mov rsi, qword [rsp + 0x388]
mov rbp, qword [rsp + 0x60]
mov r12, r15
mov r11d, 0xffffffff
mov r13d, r12d
mov edi, 1
mov al, byte [rsp + 0x380]
mov r8d, dword [r14 + 0x128]
mov rcx, qword [rsp + 0x1d8]
mov byte [r14 + 0x1f8], al
mov al, byte [rsp + 0x8a]
mov r9, r8
mov byte [r14 + 0x1f9], al
mov al, byte [rsp + 0x8c]
mov byte [r14 + 0x1fa], al
mov rax, qword [r14 + 0x30]
mov qword [rax + r8*8], rcx
mov rdx, qword [r14 + 0x470]
test rdx, rdx
je 0x1801272dc
mov rax, qword [rdx + 8]
mov ecx, r8d
mov r10, rdi
and ecx, 0x3f
shr r9, 6
shl r10, cl
test qword [rax + r9*8], r10
jne 0x1801272dc
inc dword [rdx + 0x14]
or qword [rax + r9*8], r10
mov eax, dword [rdx + 0x18]
cmp eax, r11d
je 0x1801272c7
cmp r8d, eax
jae 0x1801272cb
mov dword [rdx + 0x18], r8d
mov eax, dword [rdx + 0x1c]
cmp eax, r11d
je 0x1801272d8
cmp r8d, eax
jbe 0x1801272dc
mov dword [rdx + 0x1c], r8d
mov r8d, dword [r14 + 0x13c]
mov rax, qword [r14 + 0x30]
mov rcx, qword [rsp + 0x1e8]
mov qword [rax + r8*8], rcx
mov rdx, qword [r14 + 0x470]
mov r9, r8
test rdx, rdx
je 0x180127345
mov rax, qword [rdx + 8]
mov ecx, r8d
mov r10, rdi
and ecx, 0x3f
shr r9, 6
shl r10, cl
test qword [rax + r9*8], r10
jne 0x180127345
inc dword [rdx + 0x14]
or qword [rax + r9*8], r10
mov eax, dword [rdx + 0x18]
cmp eax, r11d
je 0x180127330
cmp r8d, eax
jae 0x180127334
mov dword [rdx + 0x18], r8d
mov eax, dword [rdx + 0x1c]
cmp eax, r11d
je 0x180127341
cmp r8d, eax
jbe 0x180127345
mov dword [rdx + 0x1c], r8d
mov r8d, dword [r14 + 0x140]
mov rax, qword [r14 + 0x30]
mov rcx, qword [rsp + 0x1e0]
mov qword [rax + r8*8], rcx
mov rdx, qword [r14 + 0x470]
mov r9, r8
test rdx, rdx
je 0x1801273ae
mov rax, qword [rdx + 8]
mov ecx, r8d
mov r10, rdi
and ecx, 0x3f
shr r9, 6
shl r10, cl
test qword [rax + r9*8], r10
jne 0x1801273ae
inc dword [rdx + 0x14]
or qword [rax + r9*8], r10
mov eax, dword [rdx + 0x18]
cmp eax, r11d
je 0x180127399
cmp r8d, eax
jae 0x18012739d
mov dword [rdx + 0x18], r8d
mov eax, dword [rdx + 0x1c]
cmp eax, r11d
je 0x1801273aa
cmp r8d, eax
jbe 0x1801273ae
mov dword [rdx + 0x1c], r8d
mov r8d, dword [r14 + 0x134]
mov rax, qword [r14 + 0x30]
mov rcx, qword [rsp + 0x1d0]
mov qword [rax + r8*8], rcx
mov rdx, qword [r14 + 0x470]
mov r9, r8
test rdx, rdx
je 0x180127417
mov rax, qword [rdx + 8]
mov ecx, r8d
mov r10, rdi
and ecx, 0x3f
shr r9, 6
shl r10, cl
test qword [rax + r9*8], r10
jne 0x180127417
inc dword [rdx + 0x14]
or qword [rax + r9*8], r10
mov eax, dword [rdx + 0x18]
cmp eax, r11d
je 0x180127402
cmp r8d, eax
jae 0x180127406
mov dword [rdx + 0x18], r8d
mov eax, dword [rdx + 0x1c]
cmp eax, r11d
je 0x180127413
cmp r8d, eax
jbe 0x180127417
mov dword [rdx + 0x1c], r8d
cmp dword [rsp + 0xd0], 0
mov al, byte [rsp + 0x8b]
mov byte [r14 + 0x1b0], al
mov al, byte [rsp + 0x89]
mov byte [r14 + 0x1b3], al
mov eax, dword [rsp + 0x160]
mov dword [r14 + 0x1d8], eax
mov rax, qword [rsp + 0x328]
mov qword [r14 + 0x1d0], rax
mov rax, qword [rsp + 0x308]
mov qword [r14 + 0x1c8], rax
jne 0x1801274f8
mov r8d, dword [r14 + 0x5c]
mov rax, qword [r14 + 0x30]
mov rcx, qword [rsp + 0x1f0]
mov qword [rax + r8*8], rcx
mov rdx, qword [r14 + 0x470]
mov r9, r8
mov r14d, 1
test rdx, rdx
je 0x1801274fe
mov rax, qword [rdx + 8]
mov ecx, r8d
mov r10, r14
and ecx, 0x3f
shr r9, 6
shl r10, cl
test qword [rax + r9*8], r10
jne 0x1801274fe
inc dword [rdx + 0x14]
or qword [rax + r9*8], r10
mov eax, dword [rdx + 0x18]
cmp eax, r11d
je 0x1801274c4
cmp r8d, eax
jae 0x1801274c8
mov dword [rdx + 0x18], r8d
mov eax, dword [rdx + 0x1c]
cmp eax, r11d
je 0x1801274d5
cmp r8d, eax
jbe 0x1801274fe
mov dword [rdx + 0x1c], r8d
jmp 0x1801274fe
mov r12, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
mov r13d, r12d
mov r11d, 0xffffffff
jmp 0x180127249
mov r14d, 1
cmp byte [rsp + 0x88], 0
je 0x18012750f
and byte [rsi + 0x128], 0xfb
lea rcx, [rsp + 0x280]
call fcn.180120170
mov rdi, qword [rsp + 0x258]
test rdi, rdi
je 0x18012754b
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x180127537
xor eax, eax
jmp 0x18012753d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rsp + 0x298]
xor esi, esi
mov qword [rsp + 0x258], rsi
test rdi, rdi
je 0x180127585
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x180127571
mov rax, rsi
jmp 0x180127577
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rsp + 0x280]
mov qword [rsp + 0x298], rsi
call fcn.180120170
lea rcx, [rsp + 0x2d0]
call fcn.180120170
mov rdi, qword [rsp + 0x2a8]
test rdi, rdi
je 0x1801275d7
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801275c3
mov rax, rsi
jmp 0x1801275c9
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rsp + 0x2e8]
mov qword [rsp + 0x2a8], rsi
test rdi, rdi
je 0x18012760f
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801275fb
mov rax, rsi
jmp 0x180127601
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rsp + 0x2d0]
mov qword [rsp + 0x2e8], rsi
call fcn.180120170
lea rcx, [rsp + 0x230]
call fcn.180120170
mov rdi, qword [rsp + 0x208]
test rdi, rdi
je 0x180127661
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x18012764d
mov rax, rsi
jmp 0x180127653
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rsp + 0x248]
mov qword [rsp + 0x208], rsi
test rdi, rdi
je 0x180127699
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x180127685
mov rax, rsi
jmp 0x18012768b
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rsp + 0x230]
mov qword [rsp + 0x248], rsi
call fcn.180120170
movsxd rax, dword [rsp + 0x198]
mov r11d, dword [rsp + 0x19c]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x190]
lea rcx, [rax + rcx*8 + 0xd250]
cmp qword [rsp + 0x188], rsi
je 0x1801276fd
mov rdx, qword [rcx]
test r11, r11
cmove r11, r14
cmp r11, qword [rdx + 8]
jae 0x1801276f2
sub qword [rdx + 8], r11
jmp 0x1801276fd
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
movsxd rax, dword [rsp + 0x1c8]
mov r8d, dword [rsp + 0x1cc]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x1c0]
lea rcx, [rax + rcx*8 + 0xd250]
cmp qword [rsp + 0x1b8], rsi
je 0x18012774c
mov rdx, qword [rcx]
test r8, r8
cmove r8, r14
cmp r8, qword [rdx + 8]
jae 0x180127741
sub qword [rdx + 8], r8
jmp 0x18012774c
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
movsxd rax, dword [rsp + 0x158]
mov r8d, r13d
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x150]
lea rcx, [rax + rcx*8 + 0xd250]
test r12, r12
je 0x180127791
mov rdx, qword [rcx]
test r13d, r13d
cmove r8, r14
cmp r8, qword [rdx + 8]
jae 0x180127786
sub qword [rdx + 8], r8
jmp 0x180127791
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
movsxd rax, dword [rsp + 0x1b0]
mov r8d, dword [rsp + 0x1b4]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x1a8]
lea rcx, [rax + rcx*8 + 0xd250]
cmp qword [rsp + 0x1a0], rsi
je 0x1801277e0
mov rdx, qword [rcx]
test r8, r8
cmove r8, r14
cmp r8, qword [rdx + 8]
jae 0x1801277d5
sub qword [rdx + 8], r8
jmp 0x1801277e0
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
movsxd rax, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x84]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x78]
lea rcx, [rax + rcx*8 + 0xd250]
test r15, r15
je 0x180127827
mov rdx, qword [rcx]
test r8, r8
cmove r8, r14
cmp r8, qword [rdx + 8]
jae 0x18012781c
sub qword [rdx + 8], r8
jmp 0x180127827
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
movsxd rax, dword [rsp + 0x180]
mov r8d, dword [rsp + 0x184]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x178]
lea rcx, [rax + rcx*8 + 0xd250]
cmp qword [rsp + 0x170], rsi
je 0x180127876
mov rdx, qword [rcx]
test r8, r8
cmove r8, r14
cmp r8, qword [rdx + 8]
jae 0x18012786b
sub qword [rdx + 8], r8
jmp 0x180127876
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, dword [rsp + 0xd4]
lea rcx, [rbp + 0xd340]
cmp qword [rsp + 0x168], rsi
je 0x1801278af
mov rdx, qword [rcx]
test rax, rax
cmove rax, r14
cmp rax, qword [rdx + 8]
jae 0x1801278a4
sub qword [rdx + 8], rax
jmp 0x1801278af
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, ebx
add rsp, 0x338
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret