Function at 0x1800dd210
Capabilities:
Get thread local storage value

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rdx
push rbp
push rdi
push r14
push r15
sub rsp, 0x198
xor edi, edi
mov r15, rcx
mov rcx, qword [rcx + 0x19678]
mov qword [r11 - 0x130], rdi
mov qword [r11 - 0x128], rdi
mov qword [r11 - 0x120], rdi
mov qword [r11 - 0x110], rdi
mov qword [r11 - 0x108], rdi
mov qword [r11 - 0x100], rdi
lea rax, [rsp + 0x38]
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], edi
mov qword [rsp + 0x38], rdi
mov r14, rdi
mov byte [rsp + 0xa0], dil
mov qword [rsp + 0x40], rax
mov byte [rsp + 0xa1], 1
mov rbp, rdi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rdi
mov byte [rsp + 0x80], dil
mov byte [rsp + 0x81], 1
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rdi
mov byte [rsp + 0x60], dil
mov byte [rsp + 0x61], 1
mov byte [rsp + 0xc0], dil
mov byte [rsp + 0xc1], 1
test rcx, rcx
jne 0x1800dd2ee
lea rcx, [rsp + 0x30]
call fcn.18007e420
xor eax, eax
add rsp, 0x198
pop r15
pop r14
pop rdi
pop rbp
ret
mov eax, dword [r15 + 0x196d8]
mov qword [rsp + 0x190], rbx
mov ebx, ecx
mov dword [rsp + 0xc8], eax
mov eax, dword [r15 + 0x196b8]
mov qword [rsp + 0x188], rsi
mov dword [rsp + 0xcc], eax
mov eax, dword [r15 + 0x196f0]
mov dword [rsp + 0xd0], ecx
mov qword [rsp + 0x1d0], rbx
mov dword [rsp + 0xd4], eax
test ecx, ecx
je 0x1800dd35f
lea rcx, [rsp + 0x48]
mov rdx, rbx
call fcn.1800f0ec0
mov esi, eax
test eax, eax
je 0x1800dd35f
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0x1d0], rbx
jmp 0x1800dd366
mov qword [rsp + 0x58], rbx
mov esi, edi
mov qword [rsp + 0x180], r12
test esi, esi
js 0x1800ddd67
mov ebx, dword [rsp + 0xcc]
mov qword [rsp + 0xf0], rbx
test rbx, rbx
je 0x1800dd3ac
lea rcx, [rsp + 0x68]
mov rdx, rbx
call fcn.1800f0d40
mov esi, eax
test eax, eax
je 0x1800dd3ac
mov rbx, qword [rsp + 0x78]
mov qword [rsp + 0xf0], rbx
jmp 0x1800dd3b3
mov qword [rsp + 0x78], rbx
mov esi, edi
test esi, esi
js 0x1800ddd5b
mov ebx, dword [rsp + 0xc8]
mov qword [rsp + 0x1d8], rbx
test rbx, rbx
je 0x1800dd3f7
lea rcx, [rsp + 0x88]
mov rdx, rbx
call fcn.1800f0ec0
mov esi, eax
test eax, eax
je 0x1800dd3f7
mov rbx, qword [rsp + 0x98]
mov qword [rsp + 0x1d8], rbx
jmp 0x1800dd401
mov qword [rsp + 0x98], rbx
mov esi, edi
test esi, esi
js 0x1800ddd1f
mov r12d, 1
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x30]
lea r8d, [r12 + 0x23]
mov r9d, r12d
mov qword [rsp + 0x20], rdi
call fcn.18007e4f0
mov esi, eax
test eax, eax
js 0x1800ddd0b
mov r8d, dword [rsp + 0x58]
mov rbx, qword [rsp + 0x48]
lea rax, [rsp + 0xe0]
lea rcx, [rsp + 0x30]
shl r8d, 4
mov rdx, rbx
mov r9d, r12d
mov qword [rsp + 0x20], rax
call fcn.18007e4f0
mov esi, eax
test eax, eax
js 0x1800ddcfc
mov eax, dword [rsp + 0x78]
mov rbp, qword [rsp + 0x68]
lea rcx, [rsp + 0x30]
lea r8d, [rax + rax*2]
lea rax, [rsp + 0xdc]
mov r9d, r12d
shl r8d, 2
mov rdx, rbp
mov qword [rsp + 0x20], rax
call fcn.18007e4f0
mov esi, eax
test eax, eax
js 0x1800ddcf2
mov r8d, dword [rsp + 0x98]
mov r14, qword [rsp + 0x88]
lea rax, [rsp + 0xd8]
lea rcx, [rsp + 0x30]
shl r8d, 4
mov rdx, r14
mov r9d, r12d
mov qword [rsp + 0x20], rax
call fcn.18007e4f0
mov esi, eax
test eax, eax
js 0x1800ddd6c
mov qword [rsp + 0x178], r13
mov dword [rsp + 0x1c0], edi
cmp qword [r15 + 0x19678], rdi
jbe 0x1800dd7a6
mov r14, qword [rsp + 0x1c0]
mov rbx, qword [rsp + 0x1d0]
mov r12, rdi
nop
cmp r12, qword [r15 + 0x19678]
jae 0x1800dd52a
mov rax, qword [r15 + 0x19668]
lea rcx, [r12 + r12*8]
lea rbp, [rax + rcx*8]
jmp 0x1800dd52d
mov rbp, rdi
mov eax, dword [rbp + 8]
cmp rax, qword [r15 + 0x19698]
jae 0x1800dd54a
lea rcx, [rax + rax*4]
mov rax, qword [r15 + 0x19688]
lea r13, [rax + rcx*8]
jmp 0x1800dd54d
mov r13, rdi
cmp r12, rbx
jae 0x1800dd563
mov rdx, qword [rsp + 0x48]
mov rcx, r12
shl rcx, 4
add rcx, rdx
jmp 0x1800dd56b
mov rdx, qword [rsp + 0x48]
mov rcx, rdi
mov eax, dword [rbp + 0x18]
mov dword [rcx], eax
mov rcx, qword [r13 + 0x18]
cmp r12, rbx
jae 0x1800dd585
mov rax, r12
shl rax, 4
add rax, rdx
jmp 0x1800dd588
mov rax, rdi
mov dword [rax + 4], ecx
cmp r12, rbx
jae 0x1800dd59c
mov rax, r12
shl rax, 4
add rax, rdx
jmp 0x1800dd59f
mov rax, rdi
mov ebx, dword [rax + 4]
cmp rbx, qword [rsp + 0xb0]
jbe 0x1800dd5d3
cmp byte [rsp + 0xc1], dil
jne 0x1800dd5bd
mov esi, 0x8007000e
jmp 0x1800dd5e5
lea rcx, [rsp + 0xa8]
mov rdx, rbx
call fcn.1800c4930
mov esi, eax
test eax, eax
jne 0x1800dd5e5
mov r14, qword [rsp + 0xa8]
mov qword [rsp + 0xb8], rbx
mov esi, edi
test esi, esi
js 0x1800ddc94
cmp dword [rbp + 0x1c], edi
jne 0x1800dd62e
cmp qword [rbp + 0x38], rdi
jne 0x1800dd7dc
mov ecx, edi
cmp qword [r13 + 0x18], rcx
jbe 0x1800dd6e0
nop dword [rax + rax]
mov eax, dword [r15 + 0x196ec]
inc ecx
add r14, 4
mov dword [r14 - 4], eax
mov eax, ecx
cmp rax, qword [r13 + 0x18]
jb 0x1800dd610
jmp 0x1800dd6e0
mov rax, qword [r13 + 0x18]
cmp rax, qword [rbp + 0x38]
jne 0x1800dd7f0
mov ebx, edi
test rax, rax
je 0x1800dd6e0
mov rcx, rdi
nop word [rax + rax]
cmp rcx, qword [r13 + 0x18]
jae 0x1800dd660
mov rax, qword [r13 + 8]
lea rdx, [rax + rcx*2]
jmp 0x1800dd663
mov rdx, rdi
movzx ecx, word [rdx]
cmp rcx, qword [r15 + 0x196b8]
jae 0x1800dd67c
shl rcx, 4
add rcx, qword [r15 + 0x196a8]
jmp 0x1800dd67f
mov rcx, rdi
mov r9, qword [rbp + 0x38]
mov r8d, edi
test r9, r9
je 0x1800dd6b7
mov r10, qword [rcx]
mov rax, rdi
cmp rax, r9
jae 0x1800dd6a4
lea rcx, [rax + rax*4]
mov rax, qword [rbp + 0x28]
lea rdx, [rax + rcx*8]
jmp 0x1800dd6a7
mov rdx, rdi
cmp r10, qword [rdx]
je 0x1800dd6b7
inc r8d
mov eax, r8d
cmp rax, r9
jb 0x1800dd691
mov eax, r8d
cmp rax, r9
jae 0x1800dd7e6
mov eax, dword [rbp + 0x20]
inc ebx
add r14, 4
lea ecx, [r8 + rax]
mov dword [r14 - 4], ecx
mov ecx, ebx
cmp rcx, qword [r13 + 0x18]
jb 0x1800dd650
mov rbx, qword [rsp + 0x1d0]
cmp r12, rbx
jae 0x1800dd6fe
mov rbp, qword [rsp + 0x48]
mov rax, r12
shl rax, 4
add rax, rbp
jmp 0x1800dd706
mov rbp, qword [rsp + 0x48]
mov rax, rdi
mov rcx, qword [r13 + 0x18]
mov rdx, qword [r13 + 8]
add rax, 8
lea r8d, [rcx + rcx]
lea rcx, [rsp + 0x30]
mov r9d, 1
mov qword [rsp + 0x20], rax
call fcn.18007e4f0
mov esi, eax
test eax, eax
js 0x1800ddc94
cmp r12, rbx
jae 0x1800dd743
shl r12, 4
add r12, rbp
jmp 0x1800dd746
mov r12, rdi
mov r8d, dword [rsp + 0xb8]
mov rdx, qword [rsp + 0xa8]
lea rax, [r12 + 0xc]
lea rcx, [rsp + 0x30]
shl r8d, 2
mov r9d, 2
mov qword [rsp + 0x20], rax
call fcn.18007e4f0
mov esi, eax
test eax, eax
js 0x1800ddc94
mov eax, dword [rsp + 0x1c0]
inc eax
mov r12d, eax
mov dword [rsp + 0x1c0], eax
cmp r12, qword [r15 + 0x19678]
jb 0x1800dd510
mov r14, qword [rsp + 0x88]
mov r12d, edi
cmp dword [rsp + 0xc8], edi
jbe 0x1800dda05
mov r13, qword [rsp + 0x1d8]
nop
mov ebx, r12d
cmp rbx, qword [r15 + 0x196d8]
jae 0x1800dd7fa
mov rbp, rbx
imul rbp, rbp, 0x38
add rbp, qword [r15 + 0x196c8]
jmp 0x1800dd7fd
mov esi, 0x80004005
jmp 0x1800ddc94
mov esi, 0x80004005
jmp 0x1800ddc94
mov esi, 0x80004005
jmp 0x1800ddc94
mov rbp, rdi
cmp rbx, r13
jae 0x1800dd80e
mov rcx, rbx
shl rcx, 4
add rcx, r14
jmp 0x1800dd811
mov rcx, rdi
mov rax, qword [rbp]
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x30]
mov rdx, qword [rax + 0x18]
mov r9d, 2
or r8d, 0xffffffff
call fcn.18007e4f0
mov esi, eax
test eax, eax
js 0x1800ddc94
cmp rbx, r13
jae 0x1800dd84d
mov rcx, rbx
shl rcx, 4
add rcx, r14
jmp 0x1800dd850
mov rcx, rdi
movzx eax, word [rbp + 0x30]
mov word [rcx + 4], ax
mov rax, qword [rbp]
mov rdx, qword [rax + 0x60]
test rdx, rdx
je 0x1800dd891
cmp dword [rdx + 8], 7
jne 0x1800dd891
cmp rbx, r13
jae 0x1800dd884
movzx eax, word [rdx + 0x38]
mov rcx, rbx
shl rcx, 4
add rcx, r14
mov word [rcx + 6], ax
jmp 0x1800dd8ae
mov ax, word [rdx + 0x38]
mov rcx, rdi
mov word [rcx + 6], ax
jmp 0x1800dd8ae
cmp rbx, r13
jae 0x1800dd8a2
mov rax, rbx
shl rax, 4
add rax, r14
jmp 0x1800dd8a5
mov rax, rdi
mov ecx, 1
mov word [rax + 6], cx
mov r8, qword [rbp + 8]
cmp r8, 0xffffffffffffffff
je 0x1800dd923
cmp byte [rbp + 0x2c], dil
je 0x1800dd923
mov rax, qword [r8 + 0xa8]
mov rdx, qword [rax + 0x20]
cmp rdx, 0xffffffffffffffff
je 0x1800dda3c
cmp dword [rdx + 0x28], 0xffff
ja 0x1800dda3c
cmp rbx, r13
jae 0x1800dd8f1
mov rcx, rbx
shl rcx, 4
add rcx, r14
jmp 0x1800dd8f4
mov rcx, rdi
movzx eax, word [rdx + 0x28]
mov word [rcx + 8], ax
cmp rbx, r13
jae 0x1800dd90d
mov rcx, rbx
shl rcx, 4
add rcx, r14
jmp 0x1800dd910
mov rcx, rdi
movzx eax, word [r8 + 0x13c]
mov word [rcx + 0xa], ax
mov ecx, 0xffff
jmp 0x1800dd958
cmp rbx, r13
jae 0x1800dd934
mov rax, rbx
shl rax, 4
add rax, r14
jmp 0x1800dd937
mov rax, rdi
mov ecx, 0xffff
mov word [rax + 8], cx
cmp rbx, r13
jae 0x1800dd951
mov rax, rbx
shl rax, 4
add rax, r14
jmp 0x1800dd954
mov rax, rdi
mov word [rax + 0xa], cx
mov rax, qword [rbp + 0x10]
cmp rax, 0xffffffffffffffff
je 0x1800dd98e
cmp byte [rbp + 0x2d], dil
je 0x1800dd98e
cmp rbx, r13
jae 0x1800dd979
mov rcx, rbx
shl rcx, 4
add rcx, r14
jmp 0x1800dd97c
mov rcx, rdi
movzx eax, word [rax + 0xc8]
mov word [rcx + 0xc], ax
mov ecx, 0xffff
jmp 0x1800dd9a6
cmp rbx, r13
jae 0x1800dd99f
mov rax, rbx
shl rax, 4
add rax, r14
jmp 0x1800dd9a2
mov rax, rdi
mov word [rax + 0xc], cx
mov rax, qword [rbp + 0x18]
cmp rax, 0xffffffffffffffff
je 0x1800dd9df
cmp byte [rbp + 0x2e], dil
je 0x1800dd9df
cmp rbx, r13
jae 0x1800dd9cf
movzx eax, word [rax + 0xc8]
shl rbx, 4
add rbx, r14
mov word [rbx + 0xe], ax
jmp 0x1800dd9f4
mov ax, word [rax + 0xc8]
mov rbx, rdi
mov word [rbx + 0xe], ax
jmp 0x1800dd9f4
cmp rbx, r13
jae 0x1800dd9ed
shl rbx, 4
add rbx, r14
jmp 0x1800dd9f0
mov rbx, rdi
mov word [rbx + 0xe], cx
inc r12d
cmp r12d, dword [rsp + 0xc8]
jb 0x1800dd7c0
mov r12d, edi
cmp dword [rsp + 0xcc], edi
jbe 0x1800ddbbc
mov r13, qword [rsp + 0xf0]
nop dword [rax]
mov ebx, r12d
cmp rbx, qword [r15 + 0x196b8]
jae 0x1800dda46
mov rbp, rbx
shl rbp, 4
add rbp, qword [r15 + 0x196a8]
jmp 0x1800dda49
mov esi, 0x80004005
jmp 0x1800ddc94
mov rbp, rdi
mov rcx, qword [rbp]
lea r8, [rsp + 0x100]
mov edx, 3
mov rax, qword [rcx]
call qword [rax + 0x60]
test al, al
je 0x1800ddbf7
cmp rbx, r13
jae 0x1800dda7c
mov r14, qword [rsp + 0x68]
lea rax, [rbx + rbx*2]
lea rdx, [r14 + rax*4]
jmp 0x1800dda84
mov r14, qword [rsp + 0x68]
mov rdx, rdi
mov rax, qword [rbp]
mov qword [rsp + 0x20], rdx
mov r9d, 2
mov rcx, qword [rax + 0x10]
or r8d, 0xffffffff
mov rdx, qword [rcx + 0x18]
lea rcx, [rsp + 0x30]
call fcn.18007e4f0
mov esi, eax
test eax, eax
js 0x1800ddc94
cmp rbx, r13
jae 0x1800ddac2
lea rax, [rbx + rbx*2]
lea rcx, [r14 + rax*4]
jmp 0x1800ddac5
mov rcx, rdi
mov word [rcx + 4], di
cmp byte [rbp + 8], dil
je 0x1800ddb05
cmp rbx, r13
jae 0x1800ddaef
lea rax, [rbx + rbx*2]
lea rcx, [r14 + rax*4]
mov eax, dword [rsp + 0x158]
add eax, 0xf
shr eax, 4
mov word [rcx + 6], ax
jmp 0x1800ddb1b
mov eax, dword [rsp + 0x158]
mov rcx, rdi
add eax, 0xf
shr eax, 4
mov word [rcx + 6], ax
jmp 0x1800ddb1b
cmp rbx, r13
jae 0x1800ddb14
lea rax, [rbx + rbx*2]
lea rcx, [r14 + rax*4]
jmp 0x1800ddb17
mov rcx, rdi
mov word [rcx + 6], di
cmp byte [rbp + 9], dil
je 0x1800ddb4d
cmp rbx, r13
jae 0x1800ddb3c
lea rax, [rbx + rbx*2]
lea rcx, [r14 + rax*4]
movzx eax, word [rsp + 0x144]
mov word [rcx + 8], ax
jmp 0x1800ddb63
mov ax, word [rsp + 0x144]
mov rcx, rdi
mov word [rcx + 8], ax
jmp 0x1800ddb63
cmp rbx, r13
jae 0x1800ddb5c
lea rax, [rbx + rbx*2]
lea rcx, [r14 + rax*4]
jmp 0x1800ddb5f
mov rcx, rdi
mov word [rcx + 8], di
cmp byte [rbp + 0xa], dil
je 0x1800ddb95
cmp rbx, r13
jae 0x1800ddb84
lea rax, [rbx + rbx*2]
lea rcx, [r14 + rax*4]
movzx eax, word [rsp + 0x148]
mov word [rcx + 0xa], ax
jmp 0x1800ddbab
mov ax, word [rsp + 0x148]
mov rcx, rdi
mov word [rcx + 0xa], ax
jmp 0x1800ddbab
cmp rbx, r13
jae 0x1800ddba4
lea rax, [rbx + rbx*2]
lea rcx, [r14 + rax*4]
jmp 0x1800ddba7
mov rcx, rdi
mov word [rcx + 0xa], di
inc r12d
cmp r12d, dword [rsp + 0xcc]
jb 0x1800dda20
mov eax, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x34]
add ebx, 3
shr ebx, 2
neg eax
movabs rax, 0x3fffffffffffffff
sbb ecx, ecx
and ecx, 2
add ebx, ecx
mov esi, ebx
cmp rsi, rax
ja 0x1800ddc8f
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800ddc01
mov rax, rdi
jmp 0x1800ddc07
mov esi, 0x80004005
jmp 0x1800ddc94
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
lea r8, [rbx*4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbp, rax
test rax, rax
je 0x1800ddc8f
lea rcx, [rsp + 0x30]
mov r8d, ebx
mov rdx, rax
call fcn.18007e6e0
mov esi, eax
test eax, eax
js 0x1800ddc5c
mov rcx, qword [rsp + 0x1c8]
lea r8d, [rbx*4]
mov r9, rbp
mov edx, 0x45434649
call fcn.180247dd0
mov esi, eax
test eax, eax
cmovns esi, edi
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800ddc79
mov rax, rdi
mov r8, rbp
xor edx, edx
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1800ddc94
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r8, rbp
xor edx, edx
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1800ddc94
mov esi, 0x8007000e
mov r13, qword [rsp + 0x178]
cmp byte [rsp + 0xc0], dil
je 0x1800ddd33
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
je 0x1800ddd47
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800ddcca
mov rax, rdi
jmp 0x1800ddcd0
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 r14, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x48]
jmp 0x1800ddd6c
mov r14, qword [rsp + 0x88]
jmp 0x1800ddd6c
mov r14, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x68]
jmp 0x1800ddd6c
mov r14, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x48]
jmp 0x1800ddd6c
mov r14, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x48]
jmp 0x1800ddd6c
mov r14, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x48]
jmp 0x1800ddd6c
mov r14, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x48]
jmp 0x1800ddd6c
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x48]
jmp 0x1800ddd6c
mov rbx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x180]
cmp byte [rsp + 0x60], dil
je 0x1800ddda3
test rbx, rbx
je 0x1800ddda3
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800ddd8f
mov rax, rdi
jmp 0x1800ddd95
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 + 0x190]
cmp byte [rsp + 0x80], dil
je 0x1800ddddd
test rbp, rbp
je 0x1800ddddd
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800dddc9
mov rax, rdi
jmp 0x1800dddcf
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rbp
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp byte [rsp + 0xa0], dil
je 0x1800dde0d
test r14, r14
je 0x1800dde0d
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1800dddff
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov rcx, qword [rdi]
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rsp + 0x30]
call fcn.18007e420
mov eax, esi
mov rsi, qword [rsp + 0x188]
add rsp, 0x198
pop r15
pop r14
pop rdi
pop rbp
ret