Function at 0x180120890
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rdi
push r13
sub rsp, 0x1b8
xor r11d, r11d
mov qword [rax + 0x18], rbx
mov qword [rax - 0x18], rbp
mov qword [rax - 0x20], rsi
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r14
mov r14, rcx
mov rcx, qword [rdx + 0x70]
mov rbx, r8
mov r8, qword [r14 + 0x10]
mov qword [rax - 0x38], r15
mov edi, r11d
mov r15, rdx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0x130], r8
mov dword [rsp + 0xb0], r11d
mov qword [rsp + 0x70], r11
mov ebp, r11d
mov dword [rsp + 0x60], r11d
mov qword [rsp + 0x68], r11
mov dword [rsp + 0xc0], r11d
mov dword [rsp + 0x98], r11d
lea esi, [r11 + 1]
test r9b, 8
je 0x180120a1d
test rbx, rbx
je 0x180122a7f
movsxd r8, dword [rbx]
mov eax, dword [rbx + 4]
mov r10, r8
cmp r8d, eax
jae 0x1801229ff
shl r10, 3
nop word [rax + rax]
mov ecx, dword [rbx]
cmp r8d, ecx
jb 0x1801209f9
cmp r8d, eax
jae 0x1801209f9
mov eax, r8d
sub eax, ecx
mov ecx, eax
mov rax, qword [rbx + 8]
mov edx, dword [rax + rcx*4]
cmp edx, 0xffffffff
je 0x1801209f9
cmp edx, r8d
je 0x1801209f9
mov rcx, qword [r14 + 0x30]
mov r9, rdx
mov rax, qword [rcx + r10]
mov qword [rcx + rdx*8], rax
mov rdi, qword [r14 + 0x470]
test rdi, rdi
jne 0x1801209a0
mov edi, r11d
jmp 0x1801209e4
mov rax, qword [rdi + 8]
mov ecx, edx
mov r11, rsi
and ecx, 0x3f
shr r9, 6
shl r11, cl
test qword [rax + r9*8], r11
jne 0x1801209de
inc dword [rdi + 0x14]
or qword [rax + r9*8], r11
mov eax, dword [rdi + 0x18]
cmp eax, 0xffffffff
je 0x1801209cc
cmp edx, eax
jae 0x1801209cf
mov dword [rdi + 0x18], edx
mov eax, dword [rdi + 0x1c]
cmp eax, 0xffffffff
je 0x1801209db
cmp edx, eax
jbe 0x1801209de
mov dword [rdi + 0x1c], edx
xor r11d, r11d
mov edi, r11d
mov rax, qword [r14 + 0x30]
cmp qword [rax + r10], 0xffffffffffffffff
je 0x1801209f9
mov rax, qword [rax + r10]
mov dword [rax + 0xdc], edx
mov eax, dword [rbx + 4]
inc r8d
add r10, 8
cmp r8d, eax
jb 0x180120950
mov rsi, rbp
mov r12, rbp
mov r13d, 1
jmp 0x180122aaf
mov ebx, r9d
mov r12d, 4
and ebx, esi
mov dword [rsp + 0xb4], ebx
je 0x180120a97
mov eax, dword [rsp + 0x1f0]
cmp eax, 0x3ffffffd
jbe 0x180120a46
mov edi, 0x80070216
jmp 0x180120a8f
lea esi, [rax*4]
lea rcx, [r8 + 0xd250]
test esi, esi
cmove esi, r12d
mov edx, esi
mov dword [rsp + 0xb0], esi
call fcn.1800c58b0
mov rcx, qword [rsp + 0xc8]
mov r9d, dword [rsp + 0x1e8]
test rax, rax
mov edi, 0x8007000e
mov r11, rbp
cmovne edi, r11d
mov qword [rsp + 0xa8], rax
test edi, edi
js 0x180122a71
or rbp, 0xffffffffffffffff
mov dword [rsp + 0x9c], 0xffffffff
mov qword [rsp + 0x150], r11
mov qword [rsp + 0x160], r11
mov qword [rsp + 0x140], r11
mov qword [rsp + 0x128], rbp
test ebx, ebx
je 0x180120ae9
test rcx, rcx
je 0x180120ad5
cmp dword [rcx + 8], 2
je 0x180120ae9
mov rax, qword [r14 + 0x10]
cmp dword [rax + 0xd028], 0
je 0x180120ae9
mov rcx, qword [rax + 0xd020]
mov rsi, qword [rsp + 0x210]
mov qword [rsp + 0x168], r11
mov edx, 0x40ffffff
nop
test rcx, rcx
je 0x1801222e2
cmp dword [rcx + 8], 2
jne 0x1801222e2
mov r13, rcx
mov qword [rsp + 0x90], rcx
mov rcx, qword [rcx + 0x80]
mov byte [rsp + 0x78], 0
mov qword [rsp + 0xc8], rcx
test ebx, ebx
je 0x180120b64
test rcx, rcx
je 0x180120b41
cmp dword [rcx + 8], 2
je 0x180120b64
mov rax, qword [r14 + 0x10]
cmp dword [rax + 0xd028], 0
je 0x180120b64
mov rax, qword [rax + 0xd020]
cmp r13, rax
cmovne rcx, rax
mov qword [rsp + 0xc8], rcx
mov rax, qword [r13 + 0xa0]
mov r12, rax
and r12d, 0x1f000
mov qword [rsp + 0x120], r12
test ebx, ebx
je 0x180121bda
test r9b, 2
je 0x180120b93
test al, 0x40
jne 0x180121bda
mov rsi, qword [rsp + 0x90]
mov rax, qword [r14 + 0x10]
xor r15b, r15b
mov rbx, qword [rax + 0xd038]
mov rcx, qword [rsi + 0x60]
mov qword [rsp + 0x148], r11
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x158], rbx
mov r13, r11
mov qword [rsp + 0xb8], r11
mov dword [rsp + 0xa0], r11d
test rcx, rcx
jne 0x180120be2
xor bpl, bpl
jmp 0x180120bfe
mov rax, rcx
test rax, rax
je 0x180120bf6
cmp dword [rax + 8], 0xa
jne 0x180120bf6
mov rax, qword [rax + 0x38]
jmp 0x180120be5
cmp dword [rax + 8], 5
sete bpl
xor r12b, r12b
test bpl, bpl
jne 0x180120c7f
test rcx, rcx
je 0x180120cf4
nop
test rcx, rcx
je 0x180120c21
cmp dword [rcx + 8], 0xa
jne 0x180120c21
mov rcx, qword [rcx + 0x38]
jmp 0x180120c10
cmp dword [rcx + 8], 7
sete al
test al, al
je 0x180120cf4
mov rcx, qword [rsi + 0x60]
lea rdx, [rsp + 0x170]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov edi, eax
test eax, eax
js 0x1801229ea
mov rax, qword [rsp + 0x170]
test rax, rax
je 0x180120cf4
nop dword [rax]
test rax, rax
je 0x180120c71
cmp dword [rax + 8], 0xa
jne 0x180120c71
mov rax, qword [rax + 0x38]
jmp 0x180120c60
cmp dword [rax + 8], 5
sete al
test al, al
je 0x180120cf4
mov r12b, 1
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcef9], 0x80
jne 0x18012223f
lea rax, [rsp + 0xb8]
lea r9, [rsp + 0x158]
movzx r8d, r12b
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x148]
movzx edx, bpl
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180105700
mov edi, eax
test eax, eax
js 0x1801229c0
mov rdx, qword [rsp + 0x158]
mov r13, qword [rsp + 0xb8]
mov dword [rsp + 0xa0], 4
mov qword [rsp + 0x80], rdx
jmp 0x180120e1b
mov rax, qword [rsi + 0xa0]
test al, 0x40
je 0x180120dc3
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcefb], 0x20
je 0x180120d21
mov rcx, qword [rax + 0xd050]
mov qword [rsp + 0x80], rcx
jmp 0x180120d30
mov rcx, qword [rax + 0xd048]
mov qword [rsp + 0x80], rcx
mov rbx, qword [rsi + 0x18]
cmp byte [rbx], 0x24
je 0x180120db6
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbx
repne scasb al, byte [rdi]
lea r8d, [rax + 1]
not rcx
lea rsi, [rcx + 1]
mov rcx, qword [r14]
add rcx, 0x58
mov edx, esi
call fcn.180243b70
mov rdi, rax
test rax, rax
je 0x180121e7e
lea r8, [0x180043a28]
mov edx, esi
mov r9, rbx
mov rcx, rax
call fcn.18006bc00
mov rdx, qword [r14]
mov rsi, qword [rsp + 0x90]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsi + 0x68]
xor r9d, r9d
mov r8, rdi
mov rcx, rsi
call fcn.18010e580
mov edi, eax
test eax, eax
js 0x1801229d5
mov rdx, qword [rsp + 0x80]
mov r15b, 1
jmp 0x180120e1b
mov rdx, qword [rsp + 0x80]
mov r15b, 1
jmp 0x180120e1b
test al, 0x10
je 0x180120ddc
mov rax, qword [r14 + 0x10]
mov rdx, qword [rax + 0xd068]
mov qword [rsp + 0x80], rdx
jmp 0x180120e1b
test al, 0x20
je 0x180120e18
xor r9d, r9d
mov r8d, 0xffffff
mov rdx, rsi
mov rcx, r14
mov byte [rsp + 0x20], 0
call fcn.1800fd940
mov edi, eax
test eax, eax
jns 0x180120f5c
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rdx, rbx
xor edi, edi
mov ebx, edi
cmp dword [rsi + 0x4c], ebx
jbe 0x180120ed8
jmp 0x180120e32
xor edi, edi
mov eax, dword [rsi + 0x48]
lea esi, [rbx + rax]
mov rax, qword [r14 + 0x30]
cmp qword [rax + rsi*8], 0xffffffffffffffff
je 0x180120e4a
mov edi, 0x8007054f
jmp 0x180120eb5
mov rcx, qword [r14 + 0x10]
mov r8, rdx
lea rdx, [rsp + 0x178]
xor r9d, r9d
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x20], edi
call fcn.18019f030
mov edi, eax
test eax, eax
js 0x180120eb5
mov r8, qword [rsp + 0x178]
mov rax, qword [rsp + 0x90]
mov edx, esi
mov dword [r8 + 0xdc], esi
mov qword [r8 + 0x108], rax
mov dword [r8 + 0x110], ebx
mov rcx, r14
mov dword [r8 + 0x118], ebx
call fcn.18010a220
mov edi, eax
test eax, eax
mov eax, 0
cmovns edi, eax
test edi, edi
js 0x1801229ab
mov rsi, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x80]
inc ebx
cmp ebx, dword [rsi + 0x4c]
jb 0x180120e30
mov rcx, qword [rsi + 0x60]
lea rdx, [rsp + 0x180]
mov rax, qword [rcx]
call qword [rax + 0x58]
test byte [rax + 2], 4
je 0x180120f10
mov eax, dword [rsi + 0x48]
mov r8, qword [r14 + 0x30]
mov rcx, r14
mov r8, qword [r8 + rax*8]
lea edx, [rax + 1]
call fcn.18010a220
mov edi, eax
test eax, eax
js 0x180122996
mov rax, qword [r14 + 0x10]
mov rbx, qword [rsp + 0x80]
cmp qword [rax + 0xd038], rbx
je 0x180120f4a
mov ecx, dword [rsi + 0x48]
mov rax, qword [r14 + 0x30]
mov r9d, dword [rsi + 0x4c]
mov rdx, qword [rsi + 0x60]
lea r8, [rax + rcx*8]
mov rcx, r14
call fcn.180106ba0
mov edi, eax
test eax, eax
js 0x180122981
test bpl, bpl
jne 0x1801219f7
test r12b, r12b
jne 0x1801219f7
mov rax, qword [rsi + 0xa0]
test al, 0x40
jne 0x1801219f7
test al, 0x10
je 0x180121b7a
mov r13, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x120]
lea rdx, [rsp + 0x88]
mov rcx, qword [r13 + 0x60]
mov r15, rsi
mov rax, qword [rcx]
call qword [rax + 0x58]
mov rdx, qword [r14 + 0x10]
movzx eax, byte [rsp + 0x89]
movzx ecx, byte [rdx + 0xcef9]
test cl, 0x10
je 0x1801210f8
test rsi, rsi
jne 0x180120fc1
test al, 8
je 0x1801210f8
or edi, 0xffffffff
test al, 8
je 0x180120fff
mov rax, qword [r13 + 0x60]
nop dword [rax]
test rax, rax
je 0x180120fe1
cmp dword [rax + 8], 0xa
jne 0x180120fe1
mov rax, qword [rax + 0x38]
jmp 0x180120fd0
mov esi, 0x400000
mov r15, rsi
test rax, rax
je 0x180121e98
cmp dword [rax + 8], 7
jne 0x180121e98
mov edi, dword [rax + 0x38]
mov rax, qword [rsp + 0x128]
cmp rax, 0xffffffffffffffff
je 0x18012105f
cmp rax, rsi
jne 0x18012101b
cmp dword [rsp + 0x9c], edi
je 0x180121055
mov rax, qword [r13 + 0x18]
mov rbp, qword [rsp + 0x1d8]
lea rdx, [r13 + 0x20]
mov rcx, qword [rbp + 0x18]
mov qword [rsp + 0x28], rax
lea r9, [0x180043a30]
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov r8d, 0xdba
call fcn.180109730
mov byte [rsp + 0x78], 1
jmp 0x180121067
mov rbp, qword [rsp + 0x1d8]
jmp 0x180121067
mov rbp, qword [rsp + 0x1d8]
mov ecx, dword [r13 + 0x48]
mov rax, qword [r14 + 0x30]
mov r8, qword [r13 + 0x60]
lea r9, [rax + rcx*8]
mov rax, qword [r13 + 0xa0]
mov rcx, qword [rsp + 0x80]
xor r12d, r12d
lea rbx, [r13 + 0x20]
mov qword [rsp + 0x128], rsi
mov dword [rsp + 0x40], r12d
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x30], rax
mov rax, qword [r13 + 0xb0]
mov rdx, rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov dword [rsp + 0x9c], edi
mov qword [rsp + 0x150], r13
mov qword [rsp + 0x120], r12
call fcn.1801332e0
mov edi, eax
test eax, eax
jns 0x18012166d
mov rsi, r12
lea r13d, [r12 + 1]
mov ebp, esi
jmp 0x180122aaf
test cl, cl
jns 0x180121100
test al, 8
jne 0x18012111b
test al, 0x10
je 0x1801215e4
movzx eax, byte [rdx + 0xcefa]
test al, 1
jne 0x18012111b
test al, 2
je 0x1801215e4
mov rsi, qword [r14 + 0x10]
xor eax, eax
mov ecx, 1
mov dword [rsp + 0xd0], 3
mov dword [rsp + 0xf0], 0xffffffff
mov rbp, rax
mov r12d, eax
mov qword [rsp + 0x100], rax
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x10c], eax
mov byte [rsp + 0x110], al
mov dword [rsp + 0xd4], ecx
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0xe4], eax
mov dword [rsp + 0xe8], eax
mov dword [rsp + 0xec], eax
mov dword [rsp + 0xf4], eax
mov qword [rsp + 0xd8], rax
mov byte [rsp + 0xf8], al
mov qword [rsp + 0x118], rax
test rsi, rsi
je 0x1801211c2
test byte [rsi + 0xcefa], 2
jne 0x1801211b7
test byte [rsi + 0xcef9], 0x80
je 0x1801211c2
mov dword [rsp + 0xd4], 3
mov ecx, 0x14
call fcn.180120200
mov ebx, eax
cmp eax, 0x1ffffffe
jbe 0x1801211dc
mov edi, 0x80070216
jmp 0x180121212
lea r12d, [rax*8]
mov eax, 8
lea rcx, [rsi + 0xd340]
test r12d, r12d
cmove r12d, eax
mov edx, r12d
call fcn.1800c58b0
mov edi, 0x8007000e
test rax, rax
mov rbp, rax
mov eax, 0
cmovne edi, eax
test edi, edi
js 0x18012215d
lea rcx, [rsp + 0xd0]
mov r8, rbp
mov edx, ebx
call fcn.18011e260
mov edi, eax
test eax, eax
js 0x18012207b
mov rdi, qword [r13 + 0x60]
nop word [rax + rax]
test rdi, rdi
je 0x180121f94
cmp dword [rdi + 8], 0xa
jne 0x180121255
mov rdi, qword [rdi + 0x38]
jmp 0x180121240
test rdi, rdi
je 0x180121f94
cmp dword [rdi + 8], 7
jne 0x180121f94
test byte [rsp + 0x89], 8
je 0x180121360
cmp qword [rsp + 0x160], 0
je 0x1801212b2
mov rbx, qword [rsp + 0x1d8]
lea rdx, [r13 + 0x20]
lea r9, [0x180043a90]
mov rax, qword [rbx + 0x18]
mov r8d, 0xe4a
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov byte [rsp + 0x78], 1
jmp 0x1801212d5
mov rax, qword [r14 + 0x10]
mov rbx, qword [rsp + 0x1d8]
mov qword [rsp + 0x160], r13
mov rax, qword [rax + 0xd180]
mov qword [rsp + 0x80], rax
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcefa], 1
je 0x180121348
mov rdx, qword [rax + 0xcf50]
test rdx, rdx
je 0x180121324
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x68]
test al, al
jne 0x180121324
mov rax, qword [rbx + 0x18]
lea rdx, [r13 + 0x20]
lea r9, [0x180043ac0]
mov r8d, 0xe4b
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov byte [rsp + 0x78], 1
jmp 0x180121360
mov rax, qword [r14 + 0x10]
cmp qword [rax + 0xcf50], 0
jne 0x180121360
mov qword [rax + 0xcf50], rdi
mov rcx, qword [r14 + 0x10]
mov eax, dword [rdi + 0x38]
mov dword [rcx + 0xcf40], eax
jmp 0x180121360
mov rax, qword [r14 + 0x10]
mov qword [rax + 0xcf50], rdi
mov rcx, qword [r14 + 0x10]
mov eax, dword [rdi + 0x38]
mov dword [rcx + 0xcf40], eax
test byte [rsp + 0x89], 0x10
je 0x18012149c
cmp qword [rsp + 0x140], 0
je 0x1801213aa
mov rbx, qword [rsp + 0x1d8]
lea rdx, [r13 + 0x20]
lea r9, [0x180043b30]
mov rax, qword [rbx + 0x18]
mov r8d, 0xe4a
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov byte [rsp + 0x78], 1
jmp 0x1801213cd
mov rax, qword [r14 + 0x10]
mov rbx, qword [rsp + 0x1d8]
mov qword [rsp + 0x140], r13
mov rax, qword [rax + 0xd188]
mov qword [rsp + 0x80], rax
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcef9], 0x80
je 0x18012147b
mov rdx, qword [rax + 0xcf48]
test rdx, rdx
je 0x18012147b
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x180121439
cmp dword [rcx + 8], 0xa
jne 0x180121403
mov rcx, qword [rcx + 0x38]
jmp 0x1801213f2
test rcx, rcx
je 0x180121439
mov rax, qword [rcx]
call qword [rax + 0x68]
test al, al
jne 0x180121439
mov rax, qword [rbx + 0x18]
lea rdx, [r13 + 0x20]
lea r9, [0x180043b60]
mov r8d, 0xe4b
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov byte [rsp + 0x78], 1
mov ecx, dword [rdi + 0x38]
mov rax, qword [r14 + 0x10]
mov edi, dword [rax + 0xcf3c]
cmp ecx, edi
je 0x18012149c
mov rax, qword [rbx + 0x18]
mov dword [rsp + 0x30], ecx
lea rdx, [r13 + 0x20]
lea r9, [0x180043be0]
mov r8d, 0xe4b
mov rcx, r14
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call fcn.180109730
mov byte [rsp + 0x78], 1
jmp 0x18012149c
test byte [rax + 0xcefa], 2
je 0x18012149c
mov rax, qword [r14 + 0x10]
mov qword [rax + 0xcf48], rdi
mov rcx, qword [r14 + 0x10]
mov eax, dword [rdi + 0x38]
mov dword [rcx + 0xcf3c], eax
mov ecx, dword [r13 + 0x48]
mov rax, qword [r14 + 0x30]
mov r8, qword [r13 + 0x60]
lea r9, [rax + rcx*8]
mov rcx, qword [rsp + 0x80]
xor eax, eax
mov dword [rsp + 0x40], eax
mov rax, qword [r13 + 0xa0]
lea rbx, [r13 + 0x20]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xd0]
mov rdx, rbx
mov qword [rsp + 0x30], rax
mov rax, qword [r13 + 0xb0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.1801332e0
mov edi, eax
test eax, eax
js 0x180121eb2
lea rcx, [rsp + 0x100]
call fcn.180120170
mov rdi, qword [rsp + 0xd8]
test rdi, rdi
je 0x180121539
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x180121525
xor eax, eax
jmp 0x18012152b
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 + 0x118]
xor eax, eax
mov qword [rsp + 0xd8], rax
test rdi, rdi
je 0x180121570
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x180121560
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
lea rcx, [rsp + 0x100]
mov qword [rsp + 0x118], rax
call fcn.180120170
mov ecx, r12d
test rbp, rbp
je 0x180121662
mov rdx, qword [rsi + 0xd340]
test r12d, r12d
mov eax, 1
cmove rcx, rax
cmp rcx, qword [rdx + 8]
jae 0x1801215be
sub qword [rdx + 8], rcx
mov rbp, qword [rsp + 0x1d8]
xor r12d, r12d
jmp 0x18012166d
mov rax, qword [rdx]
lea rcx, [rsi + 0xd340]
mov qword [rsi + 0xd340], rax
call fcn.1800c56f0
mov rbp, qword [rsp + 0x1d8]
xor r12d, r12d
jmp 0x18012166d
mov ecx, dword [r13 + 0x48]
mov rax, qword [r14 + 0x30]
mov r8, qword [r13 + 0x60]
lea r9, [rax + rcx*8]
mov rax, qword [r13 + 0xa0]
mov rcx, qword [rsp + 0x80]
xor r12d, r12d
lea rbx, [r13 + 0x20]
mov qword [rsp + 0x50], r12
mov dword [rsp + 0x48], r12d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x1f8]
mov rdx, rbx
mov qword [rsp + 0x38], rax
mov rax, qword [r13 + 0xa8]
mov qword [rsp + 0x30], rax
mov rax, qword [r13 + 0xb0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.180133120
mov edi, eax
test eax, eax
js 0x180122925
mov rbp, qword [rsp + 0x1d8]
jmp 0x18012166d
mov rbp, qword [rsp + 0x1d8]
xor r12d, r12d
mov eax, dword [r13 + 0x48]
mov rcx, qword [r14 + 0x30]
cmp qword [rcx + rax*8], 0xffffffffffffffff
je 0x180121735
mov rax, qword [rcx + rax*8]
movsxd rcx, dword [rax + 0xa4]
lea rax, [0x180027d20]
test byte [rax + rcx*4 + 2], 1
je 0x180121735
test byte [r13 + 0xa0], 0x20
jne 0x1801216e0
mov rax, qword [r13 + 0x18]
mov rdi, qword [rsp + 0x1d8]
lea r9, [0x180043c38]
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x28], rax
mov r8d, 0xdba
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov rdx, rbx
call fcn.180109730
mov byte [rsp + 0x78], 1
jmp 0x1801216e8
mov rdi, qword [rsp + 0x1d8]
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcef9], 0x10
jne 0x180121b8c
mov rcx, qword [rdi + 0x18]
mov rax, qword [r13 + 0x18]
lea r9, [0x180043c80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r8d, 0xdba
mov rcx, r14
mov rdx, rbx
call fcn.180109730
mov r15, qword [rsp + 0x1d8]
mov byte [rsp + 0x78], 1
jmp 0x180121b94
movzx ecx, byte [rsp + 0x89]
test cl, 8
je 0x180121779
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcf03], 0x80
jne 0x180121779
mov rax, qword [rbp + 0x18]
lea r9, [0x180043cd0]
mov r8d, 0xe4a
mov rdx, rbx
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov sil, 1
mov dword [rsp + 0x78], esi
jmp 0x1801217bf
test cl, 0x10
je 0x1801217bb
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcf04], 1
jne 0x1801217b5
mov rax, qword [rbp + 0x18]
lea r9, [0x180043d20]
mov r8d, 0xe4a
mov rdx, rbx
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov sil, 1
mov dword [rsp + 0x78], esi
jmp 0x1801217bf
mov esi, dword [rsp + 0x78]
jmp 0x1801217bf
mov esi, dword [rsp + 0x78]
mov r11d, dword [r13 + 0x4c]
mov r9b, 1
mov r8d, r12d
test r11d, r11d
je 0x180121866
mov r10, qword [r14 + 0x30]
mov edi, dword [r13 + 0x48]
nop word [rax + rax]
mov eax, edi
cmp qword [r10 + rax*8], 0xffffffffffffffff
je 0x18012181b
mov rdx, qword [r10 + rax*8]
mov rax, qword [rdx + 0xa8]
mov rcx, qword [rax + 0x10]
movzx eax, cl
shr al, 4
test al, 1
je 0x18012181b
shr rcx, 9
test cl, 1
jne 0x18012181b
cmp qword [rdx + 0x128], 0
movzx r9d, r9b
cmove r9d, r12d
inc r8d
inc edi
cmp r8d, r11d
jb 0x1801217e0
test r9b, r9b
jne 0x180121866
mov rax, qword [r13 + 0x18]
mov r15, qword [rsp + 0x1d8]
lea r9, [0x180043e10]
mov rcx, qword [r15 + 0x18]
mov qword [rsp + 0x28], rax
mov r8d, 0xdae
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov rdx, rbx
call fcn.180109730
mov byte [rsp + 0x78], 1
jmp 0x180121b94
mov rdi, qword [r13 + 0xb0]
test rdi, rdi
je 0x1801218e7
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcef9], 0x10
je 0x1801218a7
mov rcx, qword [rdi + 0x30]
lea rdx, [0x180039a50]
call fcn.1801081c0
test al, al
jne 0x1801218a7
mov rcx, qword [rdi + 0x30]
lea rdx, [0x18003e890]
call fcn.1801081c0
test al, al
je 0x1801218e7
test r15, r15
je 0x180121979
mov rax, qword [r13 + 0x18]
mov r15, qword [rsp + 0x1d8]
lea r9, [0x180043d90]
mov rcx, qword [r15 + 0x18]
mov qword [rsp + 0x28], rax
mov r8d, 0xdba
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov rdx, rbx
call fcn.180109730
jmp 0x18012198b
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcef9], 0x10
je 0x180121983
test r15, r15
jne 0x180121938
mov rax, qword [r13 + 0x18]
mov r15, qword [rsp + 0x1d8]
lea r9, [0x180043dd0]
mov rcx, qword [r15 + 0x18]
mov qword [rsp + 0x28], rax
mov r8d, 0xdba
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov rdx, rbx
call fcn.180109730
mov sil, 1
mov dword [rsp + 0x78], esi
jmp 0x180121940
mov r15, qword [rsp + 0x1d8]
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcef9], 0x10
je 0x18012198b
mov rcx, qword [r14 + 0x30]
mov eax, dword [r13 + 0x48]
mov r8d, dword [r13 + 0x4c]
lea rdx, [rcx + rax*8]
mov rcx, r14
call fcn.1801082b0
movzx esi, sil
test al, al
mov eax, 1
cmove esi, eax
mov dword [rsp + 0x78], esi
jmp 0x18012198b
mov r15, qword [rsp + 0x1d8]
jmp 0x18012198b
mov r15, qword [rsp + 0x1d8]
cmp dword [r13 + 0x4c], 0
mov edx, r12d
jbe 0x180121b94
mov r15d, dword [rsp + 0x98]
mov r14, qword [rsp + 0x168]
nop dword [rax]
mov eax, dword [r13 + 0x48]
inc r14
inc r15d
lea ecx, [rdx + rax]
mov rax, qword [rsp + 0xa8]
inc edx
mov dword [rax + r14*4 - 4], ecx
cmp edx, dword [r13 + 0x4c]
jb 0x1801219b0
mov qword [rsp + 0x168], r14
mov r14, qword [rsp + 0x1d0]
mov dword [rsp + 0x98], r15d
mov r15, qword [rsp + 0x1d8]
jmp 0x180121b94
xor edi, edi
mov qword [rsp + 0xb8], rdi
test bpl, bpl
jne 0x180121a22
test r12b, r12b
jne 0x180121a22
mov rax, qword [r14 + 0x10]
mov r13, rdi
test byte [rax + 0xcefb], 0x20
cmovne r13, qword [rsp + 0x200]
mov ecx, dword [rsi + 0x48]
mov rax, qword [r14 + 0x30]
lea rdx, [rsi + 0x20]
lea r9, [rax + rcx*8]
lea rax, [rsp + 0xb8]
mov rcx, r14
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x48], 0x10
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], r13
mov r13, qword [rsp + 0x90]
mov rax, qword [r13 + 0xa8]
mov r8, qword [r13 + 0x60]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rbx
call fcn.180133120
mov edi, eax
test eax, eax
js 0x180122910
mov ecx, dword [r13 + 0x48]
mov rax, qword [r14 + 0x30]
lea r8, [rax + rcx*8]
mov rax, qword [rax + rcx*8]
mov rcx, qword [rax + 0xa8]
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcefb], 0x20
je 0x180121b1a
cmp qword [rcx + 0x20], 0xffffffffffffffff
je 0x180121b1a
mov rbx, qword [rcx + 0x20]
mov edx, dword [r13 + 0x4c]
lea rax, [rsp + 0x138]
lea r9, [rsp + 0x13c]
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180133000
mov edi, eax
test eax, eax
js 0x1801228fb
mov r9, qword [r13 + 0x18]
test r15b, r15b
je 0x180121af0
cmp byte [r9], 0x24
jne 0x180121af0
inc r9
mov rax, qword [rsp + 0xb8]
mov r8d, dword [rsp + 0x138]
mov edx, dword [rsp + 0x13c]
mov rcx, qword [rbx + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
call fcn.18011ddf0
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x180121b5b
mov ecx, dword [r13 + 0x48]
mov rax, qword [r14 + 0x30]
mov r9d, dword [rsp + 0xa0]
lea r8, [rax + rcx*8]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rdx
mov edx, dword [r13 + 0x4c]
mov rcx, r14
call fcn.180105850
mov edi, eax
test eax, eax
js 0x1801228e6
mov rdx, r13
mov rcx, r14
call fcn.180135bb0
mov edi, eax
test eax, eax
js 0x1801228d1
mov r15, qword [rsp + 0x1d8]
jmp 0x180121b94
mov r13, qword [rsp + 0x90]
mov r15, qword [rsp + 0x1d8]
jmp 0x180121b94
mov r15, qword [rsp + 0x1d8]
mov ecx, dword [r13 + 0x48]
mov rax, qword [r14 + 0x30]
mov r9d, dword [r13 + 0x10c]
mov edx, dword [r13 + 0x4c]
lea r8, [rax + rcx*8]
mov eax, dword [r13 + 0x110]
mov rcx, r14
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], eax
call fcn.1800fd5d0
mov edi, eax
test eax, eax
js 0x1801228bc
mov r12, qword [rsp + 0x120]
jmp 0x180121e1d
test al, 0x10
mov ebx, 0xffffff
mov rcx, r14
cmovne ebx, edx
xor r9d, r9d
mov rdx, r13
mov r8d, ebx
mov byte [rsp + 0x20], 1
call fcn.1800fd940
mov edi, eax
test eax, eax
js 0x1801228a7
xor r9d, r9d
mov r8d, ebx
mov rdx, r13
mov rcx, r14
mov byte [rsp + 0x20], 0
call fcn.1800fd940
mov edi, eax
test eax, eax
js 0x180122892
mov rdx, qword [rsp + 0x208]
test rdx, rdx
je 0x1801222c8
test byte [r13 + 0xa0], 0x10
je 0x180121e09
mov eax, dword [r13 + 0x4c]
test eax, eax
je 0x180121c58
mov rcx, rax
mov rdi, rsi
or rax, 0xffffffffffffffff
rep stosq qword [rdi], rax
mov rdi, qword [rdx + 0x10]
test rdi, rdi
je 0x180121cde
mov ebx, dword [r13 + 0x4c]
mov rcx, r13
call fcn.18010e7d0
mov r9, rsi
mov r8d, ebx
neg al
mov rdx, rdi
sbb ecx, ecx
xor eax, eax
and ecx, 4
mov dword [rsp + 0x28], ecx
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.180129c40
mov edi, eax
test eax, eax
js 0x18012287d
mov rcx, r13
call fcn.18010e7d0
test al, al
je 0x180121cde
mov r9, rsi
xor r8d, r8d
xor edx, edx
mov rcx, r14
mov dword [rsp + 0x20], ebx
call fcn.1801070d0
mov edi, eax
test eax, eax
js 0x180122868
mov r8d, dword [r13 + 0x48]
mov r9, rsi
mov edx, ebx
mov rcx, r14
call fcn.18010a0b0
mov edi, eax
test eax, eax
js 0x180122853
xor eax, eax
mov ebp, eax
cmp dword [r13 + 0x4c], eax
jbe 0x180121e09
nop dword [rax]
mov rcx, qword [rsi]
cmp rcx, 0xffffffffffffffff
je 0x180121df9
movsxd rax, dword [rcx + 0xa4]
lea rdx, [0x180027d20]
test byte [rdx + rax*4 + 2], 1
je 0x180121df9
cmp qword [rcx + 0x100], 0xffffffffffffffff
je 0x180121d74
mov rdi, qword [rcx + 0x100]
mov rdx, rcx
mov rcx, rdi
call fcn.180195150
cmp eax, 0xffffffff
je 0x180121d74
mov ecx, eax
mov rax, qword [rdi + 0x18]
mov rdx, qword [rax + rcx*8]
cmp rdx, 0xffffffffffffffff
je 0x180121d74
mov ecx, dword [rdx + 0xdc]
mov rax, qword [rsi]
mov r8, qword [r14 + 0x30]
mov edx, dword [rax + 0xdc]
inc ecx
mov r8, qword [r8 + rcx*8]
inc edx
mov rcx, r14
call fcn.18010a220
mov edi, eax
test eax, eax
js 0x18012283e
test byte [r13 + 0xa0], 0x20
jne 0x180121db5
mov rdi, qword [r13 + 0x18]
mov rbx, qword [r15 + 0x18]
mov rcx, r13
call fcn.180093ef0
lea r9, [0x180043e40]
mov r8d, 0xdba
mov rcx, r14
mov rdx, rax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rbx
call fcn.180109730
mov byte [rsp + 0x78], 1
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcef9], 0x10
jne 0x180121df9
mov rdi, qword [r13 + 0x18]
mov rbx, qword [r15 + 0x18]
mov rcx, r13
call fcn.180093ef0
lea r9, [0x180043c80]
mov r8d, 0xdba
mov rcx, r14
mov rdx, rax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rbx
call fcn.180109730
mov byte [rsp + 0x78], 1
inc ebp
add rsi, 8
cmp ebp, dword [r13 + 0x4c]
jb 0x180121cf0
mov rcx, qword [rsp + 0x208]
mov rcx, qword [rcx + 0x18]
mov qword [rsp + 0x208], rcx
mov ebx, dword [rsp + 0xb4]
test ebx, ebx
jne 0x180121e35
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcef9], 0x10
jne 0x180121e3e
test r12, r12
jne 0x180122283
cmp byte [rsp + 0x78], 0
jne 0x1801222ae
mov rsi, qword [rsp + 0x210]
mov eax, dword [r13 + 0x4c]
mov rcx, qword [rsp + 0xc8]
mov r9d, dword [rsp + 0x1e8]
lea rsi, [rsi + rax*8]
xor r11d, r11d
mov qword [rsp + 0x210], rsi
mov edx, 0x40ffffff
jmp 0x180120b00
mov rsi, qword [rsp + 0x68]
mov edi, 0x8007000e
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov edi, 0x80004005
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
lea rcx, [rsp + 0x100]
call fcn.180120170
mov rbx, qword [rsp + 0xd8]
test rbx, rbx
je 0x180121eee
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x180121eda
xor eax, eax
jmp 0x180121ee0
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 + 0x118]
xor r13d, r13d
mov qword [rsp + 0xd8], r13
test rbx, rbx
je 0x180121f29
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x180121f15
mov rax, r13
jmp 0x180121f1b
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 + 0x100]
mov qword [rsp + 0x118], r13
call fcn.180120170
mov r11d, r12d
lea rcx, [rsi + 0xd340]
test rbp, rbp
je 0x180122935
mov rdx, qword [rcx]
test r12d, r12d
mov r13d, 1
cmove r11, r13
cmp r11, qword [rdx + 8]
jae 0x180121f7a
mov rsi, qword [rsp + 0x68]
sub qword [rdx + 8], r11
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov rsi, qword [rsp + 0x68]
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
lea rcx, [rsp + 0x100]
mov edi, 0x80004005
call fcn.180120170
mov rbx, qword [rsp + 0xd8]
test rbx, rbx
je 0x180121fd5
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x180121fc1
xor eax, eax
jmp 0x180121fc7
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 + 0x118]
xor r13d, r13d
mov qword [rsp + 0xd8], r13
test rbx, rbx
je 0x180122010
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x180121ffc
mov rax, r13
jmp 0x180122002
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 + 0x100]
mov qword [rsp + 0x118], r13
call fcn.180120170
mov r11d, r12d
lea rcx, [rsi + 0xd340]
test rbp, rbp
je 0x180122948
mov rdx, qword [rcx]
test r12d, r12d
mov r13d, 1
cmove r11, r13
cmp r11, qword [rdx + 8]
jae 0x180122061
mov rsi, qword [rsp + 0x68]
sub qword [rdx + 8], r11
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov rsi, qword [rsp + 0x68]
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
lea rcx, [rsp + 0x100]
call fcn.180120170
mov rbx, qword [rsp + 0xd8]
test rbx, rbx
je 0x1801220b7
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801220a3
xor eax, eax
jmp 0x1801220a9
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 + 0x118]
xor r13d, r13d
mov qword [rsp + 0xd8], r13
test rbx, rbx
je 0x1801220f2
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801220de
mov rax, r13
jmp 0x1801220e4
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 + 0x100]
mov qword [rsp + 0x118], r13
call fcn.180120170
mov r11d, r12d
lea rcx, [rsi + 0xd340]
test rbp, rbp
je 0x18012295b
mov rdx, qword [rcx]
test r12d, r12d
mov r13d, 1
cmove r11, r13
cmp r11, qword [rdx + 8]
jae 0x180122143
mov rsi, qword [rsp + 0x68]
sub qword [rdx + 8], r11
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov rsi, qword [rsp + 0x68]
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
lea rcx, [rsp + 0x100]
call fcn.180120170
mov rbx, qword [rsp + 0xd8]
test rbx, rbx
je 0x180122199
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x180122185
xor eax, eax
jmp 0x18012218b
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 + 0x118]
xor r13d, r13d
mov qword [rsp + 0xd8], r13
test rbx, rbx
je 0x1801221d4
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801221c0
mov rax, r13
jmp 0x1801221c6
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 + 0x100]
mov qword [rsp + 0x118], r13
call fcn.180120170
mov r11d, r12d
lea rcx, [rsi + 0xd340]
test rbp, rbp
je 0x18012296e
mov rdx, qword [rcx]
test r12d, r12d
mov r13d, 1
cmove r11, r13
cmp r11, qword [rdx + 8]
jae 0x180122225
mov rsi, qword [rsp + 0x68]
sub qword [rdx + 8], r11
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov rsi, qword [rsp + 0x68]
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rbp, qword [rsp + 0x1d8]
lea rdx, [rsi + 0x20]
lea r9, [0x1800439c0]
mov rax, qword [rbp + 0x18]
mov r8d, 0xdac
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180109730
mov rsi, qword [rsp + 0x68]
mov ebp, esi
mov r12, rsi
mov edi, 0x80004005
mov r13d, 1
jmp 0x180122aaf
mov rcx, qword [r15 + 0x18]
mov rax, qword [r13 + 0x18]
lea rdx, [r13 + 0x20]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [0x180043d90]
mov rcx, r14
mov r8d, 0xdba
call fcn.180109730
mov rsi, qword [rsp + 0x68]
mov edi, 0x80004005
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov edi, 0x80004005
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
xor r9d, r9d
mov r8d, 0xffffff
mov rdx, r15
mov rcx, r14
mov byte [rsp + 0x20], 0
call fcn.1800fd940
mov edi, eax
test eax, eax
js 0x180122a5f
test ebx, ebx
je 0x180122426
mov rax, qword [r14 + 0x10]
test byte [rax + 0xcef9], 0x10
je 0x180122417
mov rbp, qword [rsp + 0x128]
xor r13d, r13d
mov esi, r13d
mov ebx, r13d
cmp rbp, 0x8000
ja 0x18012238d
cmp rbp, 0x8000
je 0x180122383
cmp rbp, 0x1000
je 0x180122378
cmp rbp, 0x2000
je 0x18012236c
cmp rbp, 0x4000
jne 0x1801223fa
mov esi, 3
mov ebx, esi
jmp 0x1801223fa
mov esi, 2
mov ebx, esi
jmp 0x1801223fa
mov eax, 1
mov esi, eax
mov ebx, eax
jmp 0x1801223fa
mov esi, 6
lea ebx, [rsi - 2]
jmp 0x1801223fa
cmp rbp, 0x10000
je 0x1801223f0
cmp rbp, 0x400000
jne 0x1801223fa
mov r12d, dword [rsp + 0x9c]
lea eax, [r12 - 1]
cmp eax, 0x1f
ja 0x1801223bb
lea esi, [r12 + 7]
mov ebx, r12d
jmp 0x1801223fa
mov rcx, qword [r15 + 0x18]
mov rdx, qword [rsp + 0x150]
lea r9, [0x180043e80]
mov rax, qword [rdx + 0x18]
add rdx, 0x20
mov r8d, 0xdba
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.180109730
jmp 0x1801223fa
mov esi, 7
mov ebx, 6
mov rax, qword [r14 + 0x10]
mov dword [rax + 0xcf0c], esi
mov rax, qword [r14 + 0x10]
mov dword [rax + 0xcf10], ebx
mov ebx, dword [rsp + 0xb4]
jmp 0x180122429
mov dword [rax + 0xcf10], 0xffffffff
xor r13d, r13d
jmp 0x180122429
xor r13d, r13d
test ebx, ebx
je 0x180122a8d
mov r12d, dword [rsp + 0x98]
mov esi, r13d
test r12d, r12d
je 0x18012249c
mov r13, qword [rsp + 0xa8]
mov rbx, r13
nop dword [rax]
mov ecx, dword [rbx]
mov rax, qword [r14 + 0x30]
mov rdx, qword [rax + rcx*8]
cmp qword [rdx + 0x128], 0
je 0x180122475
mov rcx, qword [r14 + 0x10]
mov r8b, 1
mov rax, qword [rcx]
call qword [rax + 8]
test eax, eax
js 0x180122482
inc esi
add rbx, 4
cmp esi, r12d
jb 0x180122450
jmp 0x1801224a4
mov rsi, qword [rsp + 0x68]
mov edi, 0x80004005
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov r13, qword [rsp + 0xa8]
lea rcx, [0x1801099e0]
mov r9, r14
mov r8d, r12d
mov rdx, r13
call fcn.1800c51b0
xor eax, eax
mov ebx, eax
test r12d, r12d
je 0x180122a23
mov rbp, qword [r14 + 0x30]
mov eax, dword [r13]
mov rdx, qword [rbp + rax*8]
cmp r12d, 1
jbe 0x180122a10
lea eax, [r12 - 1]
lea rsi, [r13 + 4]
movabs r15, 0x180000000000
mov r8, rsi
mov r12d, eax
mov r9d, eax
nop dword [rax]
cmp qword [rdx + 0x128], 0
mov eax, dword [r8]
mov r10, qword [rdx + 0xa8]
mov rcx, qword [rbp + rax*8]
mov r11, qword [rcx + 0xa8]
je 0x180122583
cmp qword [rcx + 0x128], 0
je 0x180122583
mov eax, dword [rcx + 0x130]
cmp dword [rdx + 0x130], eax
jne 0x180122583
mov eax, dword [rcx + 0xcc]
cmp dword [rdx + 0xcc], eax
jne 0x180122583
mov eax, dword [rcx + 0x13c]
cmp dword [rdx + 0x13c], eax
jne 0x180122583
mov eax, dword [rcx + 0xb0]
cmp dword [rdx + 0xb0], eax
jne 0x180122583
mov rax, qword [rcx + 0x98]
cmp qword [rdx + 0x98], rax
jne 0x180122583
mov rax, qword [r11 + 0x10]
xor rax, qword [r10 + 0x10]
test r15, rax
jne 0x180122583
inc ebx
jmp 0x180122586
mov rdx, rcx
add r8, 4
sub r9, 1
jne 0x180122500
test ebx, ebx
je 0x180122a9f
cmp ebx, 0x1ffffffe
jbe 0x1801225b5
mov rbp, qword [rsp + 0x130]
mov edi, 0x80070216
xor eax, eax
jmp 0x1801225f5
mov rbp, qword [rsp + 0x130]
lea eax, [rbx*8]
mov ecx, 8
test eax, eax
cmove eax, ecx
lea rcx, [rbp + 0xd280]
mov edx, eax
mov dword [rsp + 0x60], eax
call fcn.1800c58b0
mov edi, 0x8007000e
test rax, rax
mov qword [rsp + 0x70], rax
mov eax, 0
cmovne edi, eax
test edi, edi
js 0x180122a49
cmp ebx, 0x1ffffffe
jbe 0x180122611
mov rdx, qword [rsp + 0x68]
mov edi, 0x80070216
jmp 0x18012264f
lea eax, [rbx*8]
mov ecx, 8
test eax, eax
cmove eax, ecx
lea rcx, [rbp + 0xd280]
mov edx, eax
mov dword [rsp + 0xc0], eax
call fcn.1800c58b0
mov edi, 0x8007000e
test rax, rax
mov rdx, rax
mov qword [rsp + 0x68], rax
mov eax, 0
cmovne edi, eax
test edi, edi
js 0x180122a33
mov ebp, dword [r13]
mov r13, qword [rsp + 0x70]
mov r11d, eax
mov rax, qword [r14 + 0x30]
mov r10, rdx
movabs r15, 0x180000000000
mov rdi, qword [rax + rbp*8]
sub r13, rdx
nop dword [rax + rax]
cmp qword [rdi + 0x128], 0
mov ecx, dword [rsi]
mov rax, qword [r14 + 0x30]
mov rdx, qword [rax + rcx*8]
mov r9, qword [rdi + 0xa8]
mov rbx, qword [rdx + 0xa8]
je 0x1801227cd
cmp qword [rdx + 0x128], 0
je 0x1801227cd
mov eax, dword [rdx + 0x130]
cmp dword [rdi + 0x130], eax
jne 0x1801227cd
mov eax, dword [rdx + 0xcc]
cmp dword [rdi + 0xcc], eax
jne 0x1801227cd
mov eax, dword [rdx + 0xb0]
cmp dword [rdi + 0xb0], eax
jne 0x1801227cd
mov eax, dword [rdx + 0x13c]
cmp dword [rdi + 0x13c], eax
jne 0x1801227cd
mov rax, qword [rdx + 0x98]
cmp qword [rdi + 0x98], rax
jne 0x1801227cd
mov rax, qword [rbx + 0x10]
xor rax, qword [r9 + 0x10]
test r15, rax
jne 0x1801227cd
mov rax, qword [r14 + 0x30]
mov rcx, qword [rax + rcx*8]
mov qword [r13 + r10], rcx
mov rax, qword [r14 + 0x30]
mov ecx, ebp
mov rcx, qword [rax + rcx*8]
mov qword [r10], rcx
mov rax, qword [r14 + 0x10]
mov r8, qword [rdx + 0xa8]
mov rcx, qword [rax + 0xd038]
cmp r8, rcx
je 0x1801227c4
test r8, r8
je 0x18012278f
cmp r8, 0xffffffffffffffff
je 0x18012278f
mov r9, qword [rdx + 8]
test r9, r9
je 0x18012276e
mov rax, qword [rdx]
mov qword [r9], rax
jmp 0x180122775
mov rax, qword [rdx]
mov qword [r8 + 0x30], rax
mov r9, qword [rdx]
test r9, r9
je 0x180122787
mov rax, qword [rdx + 8]
mov qword [r9 + 8], rax
jmp 0x18012278f
mov rax, qword [rdx + 8]
mov qword [r8 + 0x38], rax
test rcx, rcx
je 0x1801227bd
cmp rcx, 0xffffffffffffffff
je 0x1801227bd
mov rax, qword [rcx + 0x38]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x1801227b0
mov qword [rax], rdx
jmp 0x1801227b4
mov qword [rcx + 0x30], rdx
xor eax, eax
mov qword [rdx], rax
mov qword [rcx + 0x38], rdx
mov qword [rdx + 0xa8], rcx
inc r11d
add r10, 8
jmp 0x1801227d2
mov ebp, ecx
mov rdi, rdx
add rsi, 4
sub r12, 1
jne 0x180122680
mov rdx, qword [rsp + 0x1d8]
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
xor eax, eax
mov dword [rsp + 0x40], 0x11
and r11d, 0xfffff
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
bts r11d, 0x1c
mov qword [rsp + 0x28], rax
add rdx, 0x20
mov r9, r12
mov r8d, r11d
mov rcx, r14
mov qword [rsp + 0x20], rsi
call fcn.18012ed20
mov ebp, dword [rsp + 0x60]
mov r13d, 1
mov edi, eax
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, r12
mov r13d, 1
mov ebp, esi
jmp 0x180122aaf
mov rsi, r13
mov r12, r13
mov r13d, 1
mov ebp, esi
jmp 0x180122aaf
mov rsi, r13
mov r12, r13
mov r13d, 1
mov ebp, esi
jmp 0x180122aaf
mov rsi, r13
mov r12, r13
mov r13d, 1
mov ebp, esi
jmp 0x180122aaf
mov rsi, r13
mov r12, r13
mov r13d, 1
mov ebp, esi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, rdi
mov r12, rdi
mov r13d, 1
jmp 0x180122aaf
mov rsi, rbx
mov ebp, ebx
mov r12, rbx
mov r13d, 1
jmp 0x180122aaf
mov rsi, rax
mov ebp, eax
mov r12, rax
mov r13d, 1
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov ebp, dword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov r13d, 1
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov ebp, dword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov r13d, 1
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, rbp
mov r12, rbp
mov r13d, 1
jmp 0x180122aaf
mov rsi, rdi
mov r12, rdi
mov r13d, 1
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
jmp 0x180122aaf
mov rsi, qword [rsp + 0x68]
mov r13d, 1
mov ebp, esi
mov r12, rsi
mov rbx, qword [rsp + 0x130]
mov eax, dword [rsp + 0xc0]
mov r15, qword [rsp + 0x190]
mov r14, qword [rsp + 0x198]
test rsi, rsi
mov rsi, qword [rsp + 0x1a8]
lea rcx, [rbx + 0xd280]
je 0x180122b03
mov rdx, qword [rcx]
test rax, rax
cmove rax, r13
cmp rax, qword [rdx + 8]
jae 0x180122af8
sub qword [rdx + 8], rax
jmp 0x180122b03
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, ebp
mov rbp, qword [rsp + 0x1b0]
test r12, r12
mov r12, qword [rsp + 0x1a0]
lea rcx, [rbx + 0xd280]
je 0x180122b42
mov rdx, qword [rcx]
test rax, rax
cmove rax, r13
cmp rax, qword [rdx + 8]
jae 0x180122b37
sub qword [rdx + 8], rax
jmp 0x180122b42
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
cmp qword [rsp + 0xa8], 0
mov eax, dword [rsp + 0xb0]
lea rcx, [rbx + 0xd250]
mov rbx, qword [rsp + 0x1e0]
je 0x180122b8f
mov rdx, qword [rcx]
test rax, rax
cmove rax, r13
cmp rax, qword [rdx + 8]
jae 0x180122b84
sub qword [rdx + 8], rax
mov eax, edi
add rsp, 0x1b8
pop r13
pop rdi
ret
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, edi
add rsp, 0x1b8
pop r13
pop rdi
ret