Function at 0x180056310
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb8
mov rbx, qword [rcx]
xor r15d, r15d
or dword [rsp + 0x7c], 0xffffffff
mov r12, rdx
mov dword [rsp + 0x78], r15d
mov rsi, rcx
mov dword [rsp + 0x60], r15d
mov dword [rsp + 0x80], r15d
mov byte [rsp + 0x50], r15b
mov qword [rsp + 0x88], rbx
call fcn.18005eabc
test byte [r12 + 0x48], 0x20
lea ecx, [r15 + 1]
mov rdi, rax
lea r8d, [r15 + 2]
jne 0x180056389
mov qword [rsp + 0x58], r15
mov dword [rsp + 0x64], ecx
jmp 0x1800563b8
mov rcx, qword [r12 + 0x10]
mov qword [rsp + 0x58], rcx
test rcx, rcx
je 0x1800563b0
mov eax, dword [rcx + 0x5c]
and al, 3
cmp al, r8b
je 0x1800563ab
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x180056398
mov qword [rsp + 0x58], rcx
movzx eax, word [rcx + 0x56]
mov dword [rsp + 0x64], eax
movsx rax, word [r12 + 0x42]
mov qword [rsp + 0x90], rax
test rax, rax
jle 0x1800564f2
mov eax, dword [rsp + 0x128]
mov r13, r15
lea r14d, [rax + 1]
not eax
mov dword [rsp + 0x6c], eax
lea ecx, [rax + r14]
movsx eax, word [r12 + 0x40]
cmp ecx, eax
je 0x1800564ce
mov rcx, qword [r12 + 8]
xor edx, edx
movzx eax, byte [r15 + rcx + 0x28]
test al, al
je 0x1800564ce
cmp byte [rsp + 0x140], 0xa
jne 0x180056418
cmp al, 0xa
je 0x18005643f
cmp byte [rsp + 0x140], 0xa
movzx ebp, byte [rsp + 0x140]
cmove ebp, eax
cmp ebp, 5
jne 0x18005658e
cmp qword [r15 + rcx + 8], rdx
jne 0x18005658e
mov ebp, r8d
mov rax, qword [rsi + 0x1c0]
mov rcx, rsi
test rax, rax
cmovne rcx, rax
mov eax, 1
mov byte [rcx + 0x21], al
mov r9, qword [r12 + 8]
lea rdx, str._s._s
mov r8, qword [r12]
mov rcx, rbx
mov r9, qword [r15 + r9]
call fcn.18001c534
mov r9d, ebp
mov dword [rsp + 0x20], r14d
mov edx, 0x17
mov r8d, 0x513
mov rcx, rdi
mov rbx, rax
call fcn.180033d78
or r9d, 0xffffffff
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.18003432c
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x1800564c0
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov eax, 1
mov byte [rdx + rcx*8 - 0x15], al
mov rbx, qword [rsp + 0x88]
mov r8d, 2
mov eax, dword [rsp + 0x6c]
mov ecx, 1
add r14d, ecx
add r13, rcx
add r15, 0x30
cmp r13, qword [rsp + 0x90]
jl 0x1800563e3
xor r15d, r15d
mov rbp, qword [r12 + 0x30]
mov r14d, dword [rsp + 0x128]
test rbp, rbp
je 0x180056678
test dword [rbx + 0x2c], 0x2000
jne 0x180056678
cmp byte [rsp + 0x140], 0xa
lea eax, [r14 + 1]
mov dword [rsi + 0x68], eax
mov ebx, r8d
movzx eax, byte [rsp + 0x140]
cmovne ebx, eax
xor eax, eax
cmp dword [rbp], eax
jle 0x180056675
mov r14d, eax
mov rcx, rdi
call fcn.180033eb4
mov rdx, qword [rbp + 8]
mov r9d, 0x10
mov r8d, eax
mov rcx, rsi
mov r13d, eax
mov rdx, qword [r14 + rdx]
call fcn.180045c94
cmp ebx, 4
jne 0x180056619
mov r9d, dword [rsp + 0x148]
lea edx, [rbx + 0xc]
xor eax, eax
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.180033d78
jmp 0x180056651
mov ecx, ebp
sub ecx, 1
je 0x18005645b
sub ecx, 1
je 0x180056442
sub ecx, 1
je 0x18005645b
cmp ecx, 1
mov dword [rsp + 0x20], edx
mov rcx, rdi
mov r8d, r14d
je 0x180056602
xor r9d, r9d
lea edx, [r9 + 0x4d]
call fcn.180033d78
mov rdx, qword [r12 + 8]
mov r8d, r14d
mov rcx, rsi
mov ebx, eax
mov rdx, qword [r15 + rdx + 8]
call fcn.1800459dc
mov edx, dword [rdi + 0x3c]
cmp edx, ebx
jbe 0x1800565f3
mov rax, qword [rdi + 8]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
lea ecx, [rdx - 1]
mov dword [rax + 0x64], ecx
jmp 0x1800564c0
mov r9d, dword [rsp + 0x148]
mov edx, 0x4c
call fcn.180033d78
jmp 0x1800564c8
mov rax, qword [rbp + 8]
mov r9, qword [r14 + rax + 8]
xor eax, eax
test r9, r9
jne 0x18005662d
mov r9, qword [r12]
cmp ebx, 5
mov byte [rsp + 0x28], 3
mov ecx, 2
mov byte [rsp + 0x20], al
cmove ebx, ecx
mov edx, 0x113
mov r8d, ebx
mov rcx, rsi
call fcn.18004e988
mov edx, r13d
mov rcx, rdi
call fcn.180033f18
inc r15d
add r14, 0x28
cmp r15d, dword [rbp]
jl 0x180056540
mov r14d, dword [rsp + 0x128]
xor r15d, r15d
mov r13, qword [rsp + 0x58]
cmp byte [rsp + 0x138], r15b
je 0x180056a26
test r13, r13
jne 0x180056a26
mov rcx, rdi
call fcn.180033eb4
cmp byte [rsp + 0x140], 0xa
mov ebp, eax
movzx ebx, byte [r12 + 0x49]
je 0x1800566b8
movzx ebx, byte [rsp + 0x140]
jmp 0x1800566c3
cmp ebx, 0xa
mov eax, 2
cmove ebx, eax
mov eax, dword [rsp + 0x130]
test eax, eax
je 0x1800566fb
mov r9d, ebp
mov dword [rsp + 0x20], eax
mov r8d, r14d
mov edx, 0x4f
mov rcx, rdi
call fcn.180033d78
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x1800566fb
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x90
cmp ebx, 5
jne 0x18005672c
cmp byte [rsp + 0x140], bl
je 0x18005672c
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x18005672c
lea edx, [rbx - 4]
mov al, byte [rcx + 0x5a]
sub al, 3
cmp al, dl
jbe 0x1800568e5
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x180056716
mov r15d, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x118]
mov r9d, ebp
mov edx, 0x46
mov dword [rsp + 0x20], r14d
mov rcx, rdi
call fcn.180033d78
mov edx, ebx
sub edx, 1
je 0x180056776
sub edx, 1
je 0x180056776
sub edx, 1
je 0x180056776
sub edx, 1
je 0x180056a05
cmp edx, 1
je 0x180056908
mov ebx, 2
mov r8, r12
mov edx, ebx
mov rcx, rsi
call fcn.18004ebac
mov r14d, dword [rsp + 0x120]
mov edx, ebp
mov rcx, rdi
call fcn.180033f18
xor eax, eax
test r15d, r15d
je 0x1800567dd
xor r9d, r9d
mov dword [rsp + 0x20], eax
xor r8d, r8d
lea edx, [rax + 0x10]
call fcn.180033d78
mov r8d, dword [rdi + 0x3c]
mov dword [rsp + 0x80], eax
cmp r8d, r15d
jbe 0x1800567d2
mov ecx, r15d
lea rdx, [rcx + rcx*2]
mov rcx, qword [rdi + 8]
mov dword [rcx + rdx*8 + 8], r8d
mov r8d, dword [rdi + 0x3c]
mov rcx, qword [rdi + 0x30]
lea edx, [r8 - 1]
mov dword [rcx + 0x64], edx
xor r15d, r15d
mov rbx, qword [r12 + 0x10]
mov qword [rsp + 0x90], rbx
test rbx, rbx
je 0x180056f62
mov r15, qword [rsp + 0x110]
xor ecx, ecx
mov eax, r14d
mov dword [rsp + 0x54], eax
lea edx, [rcx + 1]
cmp dword [r15], ecx
je 0x180056f38
mov ebp, dword [rsp + 0x128]
xor eax, eax
inc ebp
cmp byte [rsp + 0x50], al
jne 0x180056837
mov r8d, ebp
mov rdx, r12
mov rcx, rdi
call fcn.180054bdc
mov byte [rsp + 0x50], 1
mov rcx, rdi
call fcn.180033eb4
xor r10d, r10d
mov dword [rsp + 0x68], eax
mov r14d, eax
cmp qword [rbx + 0x48], r10
je 0x180056885
mov r9d, dword [r15]
lea edx, [r10 + 0x1c]
xor r8d, r8d
mov dword [rsp + 0x20], r10d
mov rcx, rdi
call fcn.180033d78
mov dword [rsi + 0x68], ebp
mov r9d, 0x10
mov rdx, qword [rbx + 0x48]
mov r8d, r14d
mov rcx, rsi
call fcn.180045f88
xor r10d, r10d
mov dword [rsi + 0x68], r10d
movzx edx, word [rbx + 0x58]
mov rcx, rsi
call fcn.1800468e0
movzx ecx, word [rbx + 0x58]
mov r15d, eax
mov dword [rsp + 0x6c], eax
cmp r10w, cx
jae 0x180056a91
mov r13d, dword [rsp + 0x128]
mov ebp, eax
mov esi, dword [rsp + 0x7c]
mov r14, r10
neg r15d
mov rax, qword [rbx + 8]
movsx ecx, word [rax + r14]
test ecx, ecx
js 0x180056a33
movsx eax, word [r12 + 0x40]
cmp ecx, eax
je 0x180056a33
lea r8d, [r13 + 1]
add r8d, ecx
jmp 0x180056a48
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0x10]
call fcn.180033d78
mov r15d, eax
mov dword [rsp + 0x60], eax
jmp 0x180056731
mov rax, qword [rsp + 0x88]
xor edx, edx
mov ebx, edx
test dword [rax + 0x2c], 0x40000
je 0x18005693e
mov qword [rsp + 0x20], rdx
lea r8d, [rdx + 0x6d]
mov rdx, r12
xor r9d, r9d
mov rcx, rsi
call fcn.180064480
xor edx, edx
mov rbx, rax
test rax, rax
jne 0x180056960
mov rcx, qword [rsi]
test dword [rcx + 0x2c], 0x80000
je 0x1800569b5
mov rcx, r12
call fcn.180053980
xor edx, edx
test rax, rax
jne 0x180056960
cmp qword [r12 + 0x20], rdx
je 0x1800569b5
mov rax, qword [rsi + 0x1c0]
mov rcx, rsi
mov r9d, dword [rsp + 0x118]
test rax, rax
mov r8, rbx
cmovne rcx, rax
mov eax, 1
mov byte [rsp + 0x48], al
mov byte [rsp + 0x40], 5
mov byte [rsp + 0x38], dl
mov rdx, r12
mov word [rsp + 0x30], ax
mov dword [rsp + 0x28], r14d
mov r14d, dword [rsp + 0x120]
mov byte [rcx + 0x20], al
mov rcx, rsi
mov dword [rsp + 0x20], r14d
call fcn.180050468
jmp 0x1800569f8
mov r14d, dword [rsp + 0x120]
cmp qword [r12 + 0x10], rdx
je 0x1800569f8
mov rax, qword [rsi + 0x1c0]
mov rcx, rsi
mov r8d, dword [rsp + 0x118]
test rax, rax
mov qword [rsp + 0x20], rdx
mov r9d, r14d
cmovne rcx, rax
mov rdx, r12
mov eax, 1
mov byte [rcx + 0x20], al
mov rcx, rsi
call fcn.180050744
mov dword [rsp + 0x78], 1
jmp 0x18005678b
mov r9d, dword [rsp + 0x148]
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea edx, [rax + 0x10]
call fcn.180033d78
jmp 0x180056783
mov r14d, dword [rsp + 0x120]
jmp 0x1800567e0
cmp esi, ebp
je 0x180056a60
cmp qword [rbx + 0x48], r10
mov esi, ebp
mov eax, 0xffffffff
mov r8d, r13d
cmovne esi, eax
mov r9d, ebp
mov dword [rsp + 0x20], r10d
mov edx, 0x22
mov rcx, rdi
call fcn.180033d78
xor r10d, r10d
movzx ecx, word [rbx + 0x58]
inc ebp
add r14, 2
lea eax, [r15 + rbp]
cmp eax, ecx
jl 0x1800568ba
mov r15d, dword [rsp + 0x6c]
mov r13, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x68]
mov dword [rsp + 0x7c], esi
mov rsi, qword [rsp + 0x100]
mov rax, qword [rsp + 0x110]
mov r8d, r15d
movzx r9d, cx
mov edx, 0x31
mov rcx, rdi
mov eax, dword [rax]
mov dword [rsp + 0x20], eax
call fcn.180033d78
movzx r8d, word [rbx + 0x58]
mov edx, r15d
mov rcx, rsi
call fcn.18004469c
xor eax, eax
cmp dword [rsp + 0x130], eax
je 0x180056aec
cmp r13, rbx
jne 0x180056aec
cmp byte [rsp + 0x138], al
jne 0x180056aec
mov edx, r14d
mov rcx, rdi
call fcn.180033f18
jmp 0x180056f27
movzx r14d, byte [rbx + 0x5a]
test r14d, r14d
jne 0x180056b14
movzx ebp, word [rbx + 0x58]
mov r8d, ebp
call fcn.18004469c
cmp ebp, dword [rsi + 0x44]
jle 0x180056b0e
mov dword [rsi + 0x44], ebp
mov dword [rsi + 0x48], r15d
mov edx, dword [rsp + 0x68]
jmp 0x180056adf
cmp byte [rsp + 0x140], 0xa
je 0x180056b29
movzx r14d, byte [rsp + 0x140]
jmp 0x180056b36
cmp r14d, 0xa
mov eax, 2
cmove r14d, eax
movzx eax, word [rbx + 0x56]
mov edx, 0x43
mov ebp, dword [rsp + 0x68]
mov rcx, rdi
mov r8d, dword [rsp + 0x54]
mov r9d, ebp
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r15d
mov dword [rsp + 0x74], r14d
call fcn.180033e74
mov r8, qword [rsp + 0x58]
cmp rbx, r8
jne 0x180056b75
mov r13d, r15d
mov dword [rsp + 0x70], r15d
jmp 0x180056b8d
mov edx, dword [rsp + 0x64]
mov rcx, rsi
call fcn.1800468e0
mov r8, qword [rsp + 0x58]
mov r13d, eax
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x130]
xor r9d, r9d
test eax, eax
jne 0x180056ba1
cmp r14d, 5
jne 0x180056c05
test byte [r12 + 0x48], 0x20
jne 0x180056ccf
mov r8d, dword [rsp + 0x54]
mov edx, 0x70
mov dword [rsp + 0x20], r9d
mov rcx, rdi
mov r9d, r13d
call fcn.180033d78
mov eax, dword [rsp + 0x130]
xor r9d, r9d
test eax, eax
je 0x180056c05
mov r9d, ebp
mov dword [rsp + 0x20], eax
mov r8d, r13d
mov edx, 0x4f
mov rcx, rdi
call fcn.180033d78
mov rdx, qword [rdi + 8]
xor r9d, r9d
test rdx, rdx
je 0x180056c05
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x90
mov edx, 1
mov ecx, r14d
sub ecx, 1
je 0x180056ec2
sub ecx, 1
je 0x180056ec2
sub ecx, 1
je 0x180056ec2
cmp ecx, 1
je 0x180056ea4
mov rax, qword [rsi + 0x1c0]
mov rcx, rsi
test rax, rax
mov r8, r9
cmovne rcx, rax
mov rax, qword [rsp + 0x88]
mov byte [rcx + 0x20], dl
test dword [rax + 0x2c], 0x40000
je 0x180056c76
mov qword [rsp + 0x20], r9
mov rdx, r12
xor r9d, r9d
mov rcx, rsi
lea r8d, [r9 + 0x6d]
call fcn.180064480
mov r8, rax
xor r9d, r9d
mov eax, dword [rsp + 0x120]
mov rdx, r12
mov r13, qword [rsp + 0x58]
mov r15d, dword [rsp + 0x64]
cmp rbx, r13
mov r14d, dword [rsp + 0x70]
sete cl
mov byte [rsp + 0x48], cl
mov rcx, rsi
mov byte [rsp + 0x40], 5
mov byte [rsp + 0x38], r9b
mov r9d, dword [rsp + 0x118]
mov word [rsp + 0x30], r15w
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], eax
call fcn.180050468
mov dword [rsp + 0x78], 1
jmp 0x180056edf
cmp rbx, r8
je 0x180056d7e
mov ebp, r9d
cmp r9w, word [r8 + 0x56]
jae 0x180056d7e
mov r12, qword [rsp + 0x58]
xor r14d, r14d
mov esi, dword [rsp + 0x54]
mov r15d, r14d
movzx edx, word [rbx + 0x58]
mov ecx, r14d
test edx, edx
je 0x180056d1e
mov rax, qword [r12 + 8]
mov r8, qword [rbx + 8]
movzx r9d, word [r15 + rax]
movsxd rax, ecx
cmp r9w, word [r8 + rax*2]
je 0x180056d21
inc ecx
cmp ecx, edx
jl 0x180056d0e
or ecx, 0xffffffff
mov eax, r13d
movsx r9d, cx
add eax, ebp
mov r8d, esi
mov edx, 0x2f
mov dword [rsp + 0x20], eax
mov rcx, rdi
call fcn.180033d78
movzx eax, word [r12 + 0x56]
mov r10d, 2
add r15, r10
inc ebp
cmp ebp, eax
jl 0x180056cf5
mov rsi, qword [rsp + 0x100]
xor r9d, r9d
mov r12, qword [rsp + 0x108]
mov r14d, dword [rsp + 0x74]
mov r15d, dword [rsp + 0x6c]
mov r8, qword [rsp + 0x58]
mov eax, dword [rsp + 0x130]
jmp 0x180056d84
mov r10d, 2
test eax, eax
je 0x180056c05
movzx ecx, word [r8 + 0x56]
mov edx, r13d
mov eax, dword [rdi + 0x3c]
mov ebp, r9d
add eax, ecx
mov dword [rsp + 0xa0], 0x4e
mov dword [rsp + 0x9c], eax
mov eax, dword [rbx + 0x5c]
and al, 3
cmp al, r10b
cmove edx, r15d
test ecx, ecx
je 0x180056c05
mov ebx, dword [rsp + 0x9c]
mov r15, r9
mov r14d, dword [rsp + 0xa0]
mov r13, r9
mov r12d, edx
mov rdx, qword [r8 + 0x40]
mov rcx, rsi
mov rdx, qword [rdx + r13]
call fcn.18004b200
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0xa0], rax
mov rcx, qword [rdx + 8]
movsx eax, word [rcx + r15]
movzx ecx, word [rdx + 0x56]
dec ecx
cmp ebp, ecx
jne 0x180056e14
mov ebx, dword [rsp + 0x68]
mov r14d, 0x4f
mov r8d, dword [rsp + 0x130]
lea ecx, [r12 + rbp]
inc r8d
mov dword [rsp + 0x20], ecx
add r8d, eax
mov r9d, ebx
mov edx, r14d
mov rcx, rdi
call fcn.180033d78
mov r8, qword [rsp + 0xa0]
mov r9d, 0xfffffffc
mov edx, eax
mov rcx, rdi
call fcn.18003432c
mov rdx, qword [rdi + 8]
xor r9d, r9d
test rdx, rdx
je 0x180056e69
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x90
mov r8, qword [rsp + 0x58]
mov edx, 1
add ebp, edx
add r13, 8
add r15, 2
movzx eax, word [r8 + 0x56]
cmp ebp, eax
jl 0x180056dda
mov rbx, qword [rsp + 0x90]
mov r12, qword [rsp + 0x108]
mov r14d, dword [rsp + 0x74]
jmp 0x180056c0a
xor r8d, r8d
mov dword [rsp + 0x20], r9d
mov r9d, dword [rsp + 0x148]
mov rcx, rdi
lea edx, [r8 + 0x10]
call fcn.180033d78
jmp 0x180056ed0
mov r8, rbx
mov edx, r14d
mov rcx, rsi
call fcn.18004ea34
mov r15d, dword [rsp + 0x64]
mov r13, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x70]
mov edx, dword [rsp + 0x68]
mov rcx, rdi
call fcn.180033f18
movzx ebp, word [rbx + 0x58]
mov rcx, rsi
mov edx, dword [rsp + 0x6c]
mov r8d, ebp
call fcn.18004469c
cmp ebp, dword [rsi + 0x44]
jle 0x180056f09
mov dword [rsi + 0x44], ebp
mov dword [rsi + 0x48], edx
cmp r14d, edx
je 0x180056f27
mov r8d, r15d
mov edx, r14d
call fcn.18004469c
cmp r15d, dword [rsi + 0x44]
jle 0x180056f27
mov dword [rsi + 0x44], r15d
mov dword [rsi + 0x48], r14d
mov eax, dword [rsp + 0x54]
xor ecx, ecx
mov r15, qword [rsp + 0x110]
lea edx, [rcx + 1]
mov rbx, qword [rbx + 0x28]
add eax, edx
add r15, 4
mov qword [rsp + 0x90], rbx
mov dword [rsp + 0x54], eax
mov qword [rsp + 0x110], r15
test rbx, rbx
jne 0x18005680a
xor r15d, r15d
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x180056fa9
xor r8d, r8d
mov dword [rsp + 0x20], r15d
lea r9d, [rax + 1]
mov rcx, rdi
lea edx, [r8 + 0x10]
call fcn.180033d78
mov eax, dword [rsp + 0x80]
mov edx, dword [rdi + 0x3c]
cmp edx, eax
jbe 0x180056f9f
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
lea ecx, [rdx - 1]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x150]
mov ecx, dword [rsp + 0x78]
mov dword [rax], ecx
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret