Function at 0x180059c50
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.1800623fc
test byte [r12 + 0x48], 0x20
lea ecx, [r15 + 1]
mov rdi, rax
lea r8d, [r15 + 2]
jne 0x180059cc9
mov qword [rsp + 0x58], r15
mov dword [rsp + 0x64], ecx
jmp 0x180059cf8
mov rcx, qword [r12 + 0x10]
mov qword [rsp + 0x58], rcx
test rcx, rcx
je 0x180059cf0
mov eax, dword [rcx + 0x5c]
and al, 3
cmp al, r8b
je 0x180059ceb
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x180059cd8
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 0x180059e32
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 0x180059e0e
mov rcx, qword [r12 + 8]
xor edx, edx
movzx eax, byte [r15 + rcx + 0x28]
test al, al
je 0x180059e0e
cmp byte [rsp + 0x140], 0xa
jne 0x180059d58
cmp al, 0xa
je 0x180059d7f
cmp byte [rsp + 0x140], 0xa
movzx ebp, byte [rsp + 0x140]
cmove ebp, eax
cmp ebp, 5
jne 0x180059ece
cmp qword [r15 + rcx + 8], rdx
jne 0x180059ece
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.18001fe74
mov r9d, ebp
mov dword [rsp + 0x20], r14d
mov edx, 0x17
mov r8d, 0x513
mov rcx, rdi
mov rbx, rax
call fcn.1800376b8
or r9d, 0xffffffff
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.180037c6c
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x180059e00
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 0x180059d23
xor r15d, r15d
mov rbp, qword [r12 + 0x30]
mov r14d, dword [rsp + 0x128]
test rbp, rbp
je 0x180059fb8
test dword [rbx + 0x2c], 0x2000
jne 0x180059fb8
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 0x180059fb5
mov r14d, eax
mov rcx, rdi
call fcn.1800377f4
mov rdx, qword [rbp + 8]
mov r9d, 0x10
mov r8d, eax
mov rcx, rsi
mov r13d, eax
mov rdx, qword [r14 + rdx]
call fcn.1800495d4
cmp ebx, 4
jne 0x180059f59
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.1800376b8
jmp 0x180059f91
mov ecx, ebp
sub ecx, 1
je 0x180059d9b
sub ecx, 1
je 0x180059d82
sub ecx, 1
je 0x180059d9b
cmp ecx, 1
mov dword [rsp + 0x20], edx
mov rcx, rdi
mov r8d, r14d
je 0x180059f42
xor r9d, r9d
lea edx, [r9 + 0x4d]
call fcn.1800376b8
mov rdx, qword [r12 + 8]
mov r8d, r14d
mov rcx, rsi
mov ebx, eax
mov rdx, qword [r15 + rdx + 8]
call fcn.18004931c
mov edx, dword [rdi + 0x3c]
cmp edx, ebx
jbe 0x180059f33
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 0x180059e00
mov r9d, dword [rsp + 0x148]
mov edx, 0x4c
call fcn.1800376b8
jmp 0x180059e08
mov rax, qword [rbp + 8]
mov r9, qword [r14 + rax + 8]
xor eax, eax
test r9, r9
jne 0x180059f6d
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.1800522c8
mov edx, r13d
mov rcx, rdi
call fcn.180037858
inc r15d
add r14, 0x28
cmp r15d, dword [rbp]
jl 0x180059e80
mov r14d, dword [rsp + 0x128]
xor r15d, r15d
mov r13, qword [rsp + 0x58]
cmp byte [rsp + 0x138], r15b
je 0x18005a366
test r13, r13
jne 0x18005a366
mov rcx, rdi
call fcn.1800377f4
cmp byte [rsp + 0x140], 0xa
mov ebp, eax
movzx ebx, byte [r12 + 0x49]
je 0x180059ff8
movzx ebx, byte [rsp + 0x140]
jmp 0x18005a003
cmp ebx, 0xa
mov eax, 2
cmove ebx, eax
mov eax, dword [rsp + 0x130]
test eax, eax
je 0x18005a03b
mov r9d, ebp
mov dword [rsp + 0x20], eax
mov r8d, r14d
mov edx, 0x4f
mov rcx, rdi
call fcn.1800376b8
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x18005a03b
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x90
cmp ebx, 5
jne 0x18005a06c
cmp byte [rsp + 0x140], bl
je 0x18005a06c
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x18005a06c
lea edx, [rbx - 4]
mov al, byte [rcx + 0x5a]
sub al, 3
cmp al, dl
jbe 0x18005a225
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x18005a056
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.1800376b8
mov edx, ebx
sub edx, 1
je 0x18005a0b6
sub edx, 1
je 0x18005a0b6
sub edx, 1
je 0x18005a0b6
sub edx, 1
je 0x18005a345
cmp edx, 1
je 0x18005a248
mov ebx, 2
mov r8, r12
mov edx, ebx
mov rcx, rsi
call fcn.1800524ec
mov r14d, dword [rsp + 0x120]
mov edx, ebp
mov rcx, rdi
call fcn.180037858
xor eax, eax
test r15d, r15d
je 0x18005a11d
xor r9d, r9d
mov dword [rsp + 0x20], eax
xor r8d, r8d
lea edx, [rax + 0x10]
call fcn.1800376b8
mov r8d, dword [rdi + 0x3c]
mov dword [rsp + 0x80], eax
cmp r8d, r15d
jbe 0x18005a112
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 0x18005a8a2
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 0x18005a878
mov ebp, dword [rsp + 0x128]
xor eax, eax
inc ebp
cmp byte [rsp + 0x50], al
jne 0x18005a177
mov r8d, ebp
mov rdx, r12
mov rcx, rdi
call fcn.18005851c
mov byte [rsp + 0x50], 1
mov rcx, rdi
call fcn.1800377f4
xor r10d, r10d
mov dword [rsp + 0x68], eax
mov r14d, eax
cmp qword [rbx + 0x48], r10
je 0x18005a1c5
mov r9d, dword [r15]
lea edx, [r10 + 0x1c]
xor r8d, r8d
mov dword [rsp + 0x20], r10d
mov rcx, rdi
call fcn.1800376b8
mov dword [rsi + 0x68], ebp
mov r9d, 0x10
mov rdx, qword [rbx + 0x48]
mov r8d, r14d
mov rcx, rsi
call fcn.1800498c8
xor r10d, r10d
mov dword [rsi + 0x68], r10d
movzx edx, word [rbx + 0x58]
mov rcx, rsi
call fcn.18004a220
movzx ecx, word [rbx + 0x58]
mov r15d, eax
mov dword [rsp + 0x6c], eax
cmp r10w, cx
jae 0x18005a3d1
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 0x18005a373
movsx eax, word [r12 + 0x40]
cmp ecx, eax
je 0x18005a373
lea r8d, [r13 + 1]
add r8d, ecx
jmp 0x18005a388
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0x10]
call fcn.1800376b8
mov r15d, eax
mov dword [rsp + 0x60], eax
jmp 0x18005a071
mov rax, qword [rsp + 0x88]
xor edx, edx
mov ebx, edx
test dword [rax + 0x2c], 0x40000
je 0x18005a27e
mov qword [rsp + 0x20], rdx
lea r8d, [rdx + 0x6d]
mov rdx, r12
xor r9d, r9d
mov rcx, rsi
call fcn.180067dc0
xor edx, edx
mov rbx, rax
test rax, rax
jne 0x18005a2a0
mov rcx, qword [rsi]
test dword [rcx + 0x2c], 0x80000
je 0x18005a2f5
mov rcx, r12
call fcn.1800572c0
xor edx, edx
test rax, rax
jne 0x18005a2a0
cmp qword [r12 + 0x20], rdx
je 0x18005a2f5
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.180053da8
jmp 0x18005a338
mov r14d, dword [rsp + 0x120]
cmp qword [r12 + 0x10], rdx
je 0x18005a338
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.180054084
mov dword [rsp + 0x78], 1
jmp 0x18005a0cb
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.1800376b8
jmp 0x18005a0c3
mov r14d, dword [rsp + 0x120]
jmp 0x18005a120
cmp esi, ebp
je 0x18005a3a0
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.1800376b8
xor r10d, r10d
movzx ecx, word [rbx + 0x58]
inc ebp
add r14, 2
lea eax, [r15 + rbp]
cmp eax, ecx
jl 0x18005a1fa
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.1800376b8
movzx r8d, word [rbx + 0x58]
mov edx, r15d
mov rcx, rsi
call fcn.180047fdc
xor eax, eax
cmp dword [rsp + 0x130], eax
je 0x18005a42c
cmp r13, rbx
jne 0x18005a42c
cmp byte [rsp + 0x138], al
jne 0x18005a42c
mov edx, r14d
mov rcx, rdi
call fcn.180037858
jmp 0x18005a867
movzx r14d, byte [rbx + 0x5a]
test r14d, r14d
jne 0x18005a454
movzx ebp, word [rbx + 0x58]
mov r8d, ebp
call fcn.180047fdc
cmp ebp, dword [rsi + 0x44]
jle 0x18005a44e
mov dword [rsi + 0x44], ebp
mov dword [rsi + 0x48], r15d
mov edx, dword [rsp + 0x68]
jmp 0x18005a41f
cmp byte [rsp + 0x140], 0xa
je 0x18005a469
movzx r14d, byte [rsp + 0x140]
jmp 0x18005a476
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.1800377b4
mov r8, qword [rsp + 0x58]
cmp rbx, r8
jne 0x18005a4b5
mov r13d, r15d
mov dword [rsp + 0x70], r15d
jmp 0x18005a4cd
mov edx, dword [rsp + 0x64]
mov rcx, rsi
call fcn.18004a220
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 0x18005a4e1
cmp r14d, 5
jne 0x18005a545
test byte [r12 + 0x48], 0x20
jne 0x18005a60f
mov r8d, dword [rsp + 0x54]
mov edx, 0x70
mov dword [rsp + 0x20], r9d
mov rcx, rdi
mov r9d, r13d
call fcn.1800376b8
mov eax, dword [rsp + 0x130]
xor r9d, r9d
test eax, eax
je 0x18005a545
mov r9d, ebp
mov dword [rsp + 0x20], eax
mov r8d, r13d
mov edx, 0x4f
mov rcx, rdi
call fcn.1800376b8
mov rdx, qword [rdi + 8]
xor r9d, r9d
test rdx, rdx
je 0x18005a545
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 0x18005a802
sub ecx, 1
je 0x18005a802
sub ecx, 1
je 0x18005a802
cmp ecx, 1
je 0x18005a7e4
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 0x18005a5b6
mov qword [rsp + 0x20], r9
mov rdx, r12
xor r9d, r9d
mov rcx, rsi
lea r8d, [r9 + 0x6d]
call fcn.180067dc0
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.180053da8
mov dword [rsp + 0x78], 1
jmp 0x18005a81f
cmp rbx, r8
je 0x18005a6be
mov ebp, r9d
cmp r9w, word [r8 + 0x56]
jae 0x18005a6be
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 0x18005a65e
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 0x18005a661
inc ecx
cmp ecx, edx
jl 0x18005a64e
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.1800376b8
movzx eax, word [r12 + 0x56]
mov r10d, 2
add r15, r10
inc ebp
cmp ebp, eax
jl 0x18005a635
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 0x18005a6c4
mov r10d, 2
test eax, eax
je 0x18005a545
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 0x18005a545
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.18004eb40
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 0x18005a754
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.1800376b8
mov r8, qword [rsp + 0xa0]
mov r9d, 0xfffffffc
mov edx, eax
mov rcx, rdi
call fcn.180037c6c
mov rdx, qword [rdi + 8]
xor r9d, r9d
test rdx, rdx
je 0x18005a7a9
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 0x18005a71a
mov rbx, qword [rsp + 0x90]
mov r12, qword [rsp + 0x108]
mov r14d, dword [rsp + 0x74]
jmp 0x18005a54a
xor r8d, r8d
mov dword [rsp + 0x20], r9d
mov r9d, dword [rsp + 0x148]
mov rcx, rdi
lea edx, [r8 + 0x10]
call fcn.1800376b8
jmp 0x18005a810
mov r8, rbx
mov edx, r14d
mov rcx, rsi
call fcn.180052374
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.180037858
movzx ebp, word [rbx + 0x58]
mov rcx, rsi
mov edx, dword [rsp + 0x6c]
mov r8d, ebp
call fcn.180047fdc
cmp ebp, dword [rsi + 0x44]
jle 0x18005a849
mov dword [rsi + 0x44], ebp
mov dword [rsi + 0x48], edx
cmp r14d, edx
je 0x18005a867
mov r8d, r15d
mov edx, r14d
call fcn.180047fdc
cmp r15d, dword [rsi + 0x44]
jle 0x18005a867
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 0x18005a14a
xor r15d, r15d
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x18005a8e9
xor r8d, r8d
mov dword [rsp + 0x20], r15d
lea r9d, [rax + 1]
mov rcx, rdi
lea edx, [r8 + 0x10]
call fcn.1800376b8
mov eax, dword [rsp + 0x80]
mov edx, dword [rdi + 0x3c]
cmp edx, eax
jbe 0x18005a8df
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