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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x258
mov qword [rsp + 0x60], rdx
mov rax, rdx
sub rdx, rcx
mov r14, rcx
cmp rdx, 0x2a7
mov qword [rsp + 0x2b0], r8
mov r15, r9
jle 0x7c80b0
test r8, r8
je 0x7c8640
lea rdi, [rcx + 0x28]
mov rsi, rax
mov r12, rcx
mov qword [rsp + 0x2b8], r9
mov qword [rsp + 0x80], rdi
lea rdi, [rsp + 0xb0]
mov qword [rsp + 0x88], rdi
lea rdi, [rcx + 0x50]
mov qword [rsp + 0x90], rdi
lea r13, [rsp + 0x1f8]
lea rdi, [rsp + 0x238]
mov r14, r13
mov qword [rsp + 0x68], rdi
mov rax, qword [rsp + 0x2b8]
sub rsi, r12
mov r13, qword [rsp + 0x2b8]
sar rsi, 3
sub qword [rsp + 0x2b0], 1
mov rbp, qword [rax]
mov rdi, qword [rax + 8]
mov rbx, qword [rax + 0x18]
movzx eax, byte [rax + 0x28]
movzx r13d, byte [r13 + 0x30]
mov ecx, eax
mov byte [rsp + 0x5a], al
mov rax, qword [rsp + 0x2b8]
mov byte [rsp + 0x58], r13b
mov r13, qword [rsp + 0x2b8]
movzx eax, byte [rax + 0x29]
movzx r13d, byte [r13 + 0x31]
mov edx, eax
mov byte [rsp + 0x5e], al
mov rax, qword [rsp + 0x2b8]
movzx eax, byte [rax + 0x2a]
mov r11d, eax
mov byte [rsp + 0x70], al
mov rax, qword [rsp + 0x2b8]
movzx r15d, byte [rax + 0x2b]
movzx eax, byte [rax + 0x2c]
mov r10d, eax
mov byte [rsp + 0x78], al
mov rax, qword [rsp + 0x2b8]
movzx eax, byte [rax + 0x2d]
mov r9d, eax
mov byte [rsp + 0x5c], al
mov rax, qword [rsp + 0x2b8]
movzx eax, byte [rax + 0x2e]
mov r8d, eax
mov byte [rsp + 0x5f], al
mov rax, qword [rsp + 0x2b8]
movzx eax, byte [rax + 0x2f]
mov byte [rsp + 0x4f], al
movabs rax, 0xcccccccccccccccd
mov byte [rsp + 0x59], r13b
mov r13, qword [rsp + 0x2b8]
imul rsi, rax
mov qword [rsp + 0x210], rbp
movzx r13d, byte [r13 + 0x32]
mov rax, rsi
shr rax, 0x3f
add rsi, rax
mov byte [rsp + 0x4e], r13b
mov r13, qword [rsp + 0x2b8]
sar rsi, 1
lea rax, [rsi + rsi*4]
lea rsi, [r12 + rax*8]
mov rax, qword [rsp + 0x60]
movzx r13d, byte [r13 + 0x33]
sub rax, 0x28
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x4d], r13b
mov r13, qword [rsp + 0x2b8]
movzx r13d, byte [r13 + 0x34]
mov byte [rsp + 0x4c], r13b
mov r13, qword [rsp + 0x2b8]
movzx r13d, byte [r13 + 0x35]
mov byte [rsp + 0x38], r13b
mov r13, qword [rsp + 0x2b8]
movzx r13d, byte [r13 + 0x36]
mov byte [rsp + 0x40], r13b
mov r13, qword [rsp + 0x2b8]
movzx r13d, byte [r13 + 0x37]
mov byte [rsp + 0x48], r13b
mov r13, qword [rsp + 0x2b8]
movzx r13d, byte [r13 + 0x38]
mov byte [rsp + 0x49], r13b
mov r13, qword [rsp + 0x2b8]
movzx r13d, byte [r13 + 0x39]
mov byte [rsp + 0x4a], r13b
mov r13, qword [rsp + 0x2b8]
movzx r13d, byte [r13 + 0x3a]
mov byte [rsp + 0x4b], r13b
mov r13, qword [rsp + 0x2b8]
movzx r13d, byte [r13 + 0x3b]
mov qword [rsp + 0x218], rdi
movzx eax, byte [rsp + 0x4f]
mov byte [rsp + 0x238], cl
mov byte [rsp + 0x239], dl
lea rdx, [rsi + rbx]
mov byte [rsp + 0x23a], r11b
mov byte [rsp + 0x23c], r10b
mov byte [rsp + 0x23f], al
movzx eax, byte [rsp + 0x58]
mov byte [rsp + 0x23d], r9b
mov byte [rsp + 0x23e], r8b
mov qword [rsp + 0x228], rbx
mov byte [rsp + 0x240], al
movzx eax, byte [rsp + 0x59]
mov byte [rsp + 0x23b], r15b
mov byte [rsp + 0x241], al
movzx eax, byte [rsp + 0x4e]
mov byte [rsp + 0x242], al
movzx eax, byte [rsp + 0x4d]
mov byte [rsp + 0x243], al
movzx eax, byte [rsp + 0x4c]
mov byte [rsp + 0x244], al
movzx eax, byte [rsp + 0x38]
mov byte [rsp + 0x245], al
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x246], al
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0x247], al
movzx eax, byte [rsp + 0x49]
mov byte [rsp + 0x248], al
movzx eax, byte [rsp + 0x4a]
mov byte [rsp + 0x249], al
movzx eax, byte [rsp + 0x4b]
mov byte [rsp + 0x24a], al
mov byte [rsp + 0x24b], r13b
mov rcx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x68]
add rcx, rdi
call rbp
mov rdx, qword [rsp + 0x50]
add rdx, qword [rsp + 0x228]
test al, al
je 0x7c80c4
mov rcx, rsi
mov r8, qword [rsp + 0x68]
add rcx, qword [rsp + 0x218]
call qword [rsp + 0x210]
test al, al
jne 0x7c8114
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x80]
add rdx, qword [rsp + 0x228]
add rcx, qword [rsp + 0x218]
mov r8, qword [rsp + 0x68]
call qword [rsp + 0x210]
test al, al
je 0x7c8393
movzx eax, byte [r12 + 0xa]
movzx edx, byte [r12 + 9]
movzx ecx, byte [r12 + 8]
movzx esi, byte [r12 + 0xe]
mov byte [rsp + 0x98], al
movzx eax, byte [r12 + 0xf]
mov r8, qword [r12]
mov byte [rsp + 0x50], dl
movzx r9d, byte [r12 + 0xb]
movzx r10d, byte [r12 + 0xc]
mov byte [rsp + 0x99], al
movzx eax, byte [r12 + 0x10]
movzx r11d, byte [r12 + 0xd]
mov byte [rsp + 0x9a], al
movzx eax, byte [r12 + 0x11]
mov byte [rsp + 0x9b], al
movzx eax, byte [r12 + 0x12]
mov byte [rsp + 0x9c], al
movzx eax, byte [r12 + 0x13]
mov byte [rsp + 0x9d], al
movzx eax, byte [r12 + 0x14]
mov byte [rsp + 0x9e], al
movzx eax, byte [r12 + 0x15]
mov byte [rsp + 0x9f], al
movzx eax, byte [r12 + 0x16]
mov byte [rsp + 0xa0], al
movzx eax, byte [r12 + 0x17]
mov byte [rsp + 0xa1], al
movzx eax, byte [r12 + 0x18]
mov byte [rsp + 0xa2], al
movzx eax, byte [r12 + 0x19]
mov byte [rsp + 0xa3], al
movzx eax, byte [r12 + 0x1a]
mov byte [rsp + 0xa4], al
movzx eax, byte [r12 + 0x1b]
mov byte [rsp + 0xa5], al
movzx eax, byte [r12 + 0x1c]
mov byte [rsp + 0xa6], al
movzx eax, byte [r12 + 0x1d]
mov byte [rsp + 0xa7], al
movzx eax, byte [r12 + 0x1e]
mov byte [rsp + 0xae], al
movzx eax, byte [r12 + 0x1f]
mov byte [rsp + 0xa8], al
movzx eax, word [r12 + 0x20]
mov word [rsp + 0xaa], ax
movzx eax, word [r12 + 0x22]
mov word [rsp + 0xac], ax
movzx eax, byte [r12 + 0x24]
mov byte [rsp + 0xaf], al
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax - 0x28]
mov qword [r12], rdx
mov rdx, qword [rax - 0x20]
mov qword [r12 + 8], rdx
mov rdx, qword [rax - 0x18]
mov qword [r12 + 0x10], rdx
mov rdx, qword [rax - 0x10]
mov qword [r12 + 0x18], rdx
mov edx, dword [rax - 8]
mov dword [r12 + 0x20], edx
movzx edx, byte [rax - 4]
mov byte [r12 + 0x24], dl
mov qword [rax - 0x28], r8
mov byte [rax - 0x20], cl
movzx edx, byte [rsp + 0x50]
mov byte [rax - 0x1a], sil
movzx esi, byte [rsp + 0x99]
movzx ecx, byte [rsp + 0x98]
mov byte [rax - 0x1d], r9b
mov byte [rax - 0x1c], r10b
mov byte [rax - 0x1f], dl
mov byte [rax - 0x19], sil
movzx esi, byte [rsp + 0x9a]
mov byte [rax - 0x1e], cl
mov byte [rax - 0x1b], r11b
mov byte [rax - 0x18], sil
movzx esi, byte [rsp + 0x9b]
mov byte [rax - 0x17], sil
movzx esi, byte [rsp + 0x9c]
mov byte [rax - 0x16], sil
movzx esi, byte [rsp + 0x9d]
mov byte [rax - 0x15], sil
movzx esi, byte [rsp + 0x9e]
mov byte [rax - 0x14], sil
movzx esi, byte [rsp + 0x9f]
mov byte [rax - 0x13], sil
movzx esi, byte [rsp + 0xa0]
mov byte [rax - 0x12], sil
movzx esi, byte [rsp + 0xa1]
mov byte [rax - 0x11], sil
movzx esi, byte [rsp + 0xa2]
mov byte [rax - 0x10], sil
movzx esi, byte [rsp + 0xa3]
mov byte [rax - 0xf], sil
movzx esi, byte [rsp + 0xa4]
mov byte [rax - 0xe], sil
movzx esi, byte [rsp + 0xa5]
mov byte [rax - 0xd], sil
movzx esi, byte [rsp + 0xa6]
mov byte [rax - 0xc], sil
movzx esi, byte [rsp + 0xa7]
mov byte [rax - 0xb], sil
movzx esi, byte [rsp + 0xae]
mov byte [rax - 0xa], sil
movzx esi, byte [rsp + 0xa8]
mov byte [rax - 9], sil
movzx esi, word [rsp + 0xaa]
mov word [rax - 8], si
movzx esi, word [rsp + 0xac]
mov word [rax - 6], si
movzx esi, byte [rsp + 0xaf]
mov byte [rax - 4], sil
movzx eax, byte [rsp + 0x5a]
mov byte [rsp + 0x1fb], r15b
mov rcx, rdi
mov rdx, rbx
mov qword [rsp + 0x1d0], rbp
mov qword [rsp + 0x1d8], rdi
mov qword [rsp + 0x1e8], rbx
mov byte [rsp + 0x1f8], al
movzx eax, byte [rsp + 0x5e]
mov byte [rsp + 0x1f9], al
movzx eax, byte [rsp + 0x70]
mov byte [rsp + 0x1fa], al
movzx eax, byte [rsp + 0x78]
mov byte [rsp + 0x1fc], al
movzx eax, byte [rsp + 0x5c]
mov byte [rsp + 0x1fd], al
movzx eax, byte [rsp + 0x5f]
mov byte [rsp + 0x1fe], al
movzx eax, byte [rsp + 0x4f]
mov byte [rsp + 0x1ff], al
movzx eax, byte [rsp + 0x58]
mov byte [rsp + 0x200], al
movzx eax, byte [rsp + 0x59]
mov byte [rsp + 0x201], al
movzx eax, byte [rsp + 0x4e]
mov byte [rsp + 0x202], al
movzx eax, byte [rsp + 0x4d]
mov byte [rsp + 0x203], al
movzx eax, byte [rsp + 0x4c]
mov byte [rsp + 0x204], al
movzx eax, byte [rsp + 0x38]
mov byte [rsp + 0x205], al
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x206], al
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0x20b], r13b
mov r15, qword [rsp + 0x60]
mov r13, qword [rsp + 0x90]
mov qword [rsp + 0x2a0], r12
mov qword [rsp + 0x38], r14
mov byte [rsp + 0x207], al
movzx eax, byte [rsp + 0x49]
mov byte [rsp + 0x208], al
movzx eax, byte [rsp + 0x4a]
mov byte [rsp + 0x209], al
movzx eax, byte [rsp + 0x4b]
mov byte [rsp + 0x20a], al
nop word [rax + rax]
lea rsi, [r13 - 0x28]
add rdx, qword [rsp + 0x2a0]
mov r8, r14
add rcx, rsi
call rbp
test al, al
jne 0x7c7a40
mov r12, qword [rsp + 0x2a0]
lea rbx, [r15 - 0x28]
nop dword [rax + rax]
mov rdx, rbx
mov rcx, r12
add rdx, qword [rsp + 0x1e8]
mov r8, r14
add rcx, qword [rsp + 0x1d8]
mov r15, rbx
sub rbx, 0x28
call qword [rsp + 0x1d0]
test al, al
jne 0x7c7840
cmp r15, rsi
mov qword [rsp + 0x2a0], r12
mov qword [rsp + 0x38], r14
jbe 0x7c7a66
mov rax, qword [r13 - 0x28]
movzx edx, byte [r13 - 0x15]
movzx ecx, byte [r13 - 0x14]
movzx r8d, byte [r13 - 0x13]
mov qword [rsp + 0x40], rax
movzx eax, byte [r13 - 0x20]
movzx r9d, byte [r13 - 0x12]
movzx r10d, byte [r13 - 0x11]
movzx r11d, byte [r13 - 0x10]
mov byte [rsp + 0x48], al
movzx eax, byte [r13 - 0x1f]
movzx ebx, byte [r13 - 0xf]
movzx esi, byte [r13 - 0xe]
mov byte [rsp + 0x49], al
movzx eax, byte [r13 - 0x1e]
mov byte [rsp + 0x4a], al
movzx eax, byte [r13 - 0x1d]
mov byte [rsp + 0x4b], al
movzx eax, byte [r13 - 0x1c]
mov byte [rsp + 0x4c], al
movzx eax, byte [r13 - 0x1b]
mov byte [rsp + 0x4d], al
movzx eax, byte [r13 - 0x1a]
mov byte [rsp + 0x4e], al
movzx eax, byte [r13 - 0x19]
mov byte [rsp + 0x4f], al
movzx eax, byte [r13 - 0x18]
mov byte [rsp + 0x58], al
movzx eax, byte [r13 - 0x17]
mov byte [rsp + 0x59], al
movzx eax, byte [r13 - 0x16]
mov byte [rsp + 0x50], al
movzx edi, byte [r13 - 0xd]
movzx eax, byte [r13 - 9]
movzx ebp, byte [r13 - 0xc]
movzx r12d, byte [r13 - 0xb]
movzx r14d, byte [r13 - 0xa]
mov byte [rsp + 0x5e], al
movzx eax, word [r13 - 8]
mov word [rsp + 0x5a], ax
movzx eax, word [r13 - 6]
mov word [rsp + 0x5c], ax
movzx eax, byte [r13 - 4]
mov byte [rsp + 0x5f], al
mov rax, qword [r15]
mov qword [r13 - 0x28], rax
mov rax, qword [r15 + 8]
mov qword [r13 - 0x20], rax
mov rax, qword [r15 + 0x10]
mov qword [r13 - 0x18], rax
mov rax, qword [r15 + 0x18]
mov qword [r13 - 0x10], rax
mov eax, dword [r15 + 0x20]
mov dword [r13 - 8], eax
movzx eax, byte [r15 + 0x24]
mov byte [r13 - 4], al
mov rax, qword [rsp + 0x40]
mov qword [r15], rax
movzx eax, byte [rsp + 0x48]
mov byte [r15 + 8], al
movzx eax, byte [rsp + 0x49]
mov byte [r15 + 9], al
movzx eax, byte [rsp + 0x4a]
mov byte [r15 + 0xa], al
movzx eax, byte [rsp + 0x4b]
mov byte [r15 + 0x13], dl
mov byte [r15 + 0x14], cl
mov byte [r15 + 0x15], r8b
mov byte [r15 + 0xb], al
movzx eax, byte [rsp + 0x4c]
mov byte [r15 + 0x16], r9b
mov byte [r15 + 0x17], r10b
mov byte [r15 + 0x18], r11b
mov byte [r15 + 0xc], al
movzx eax, byte [rsp + 0x4d]
mov byte [r15 + 0x19], bl
mov byte [r15 + 0x1a], sil
mov byte [r15 + 0x1b], dil
mov byte [r15 + 0xd], al
movzx eax, byte [rsp + 0x4e]
mov byte [r15 + 0x1c], bpl
mov byte [r15 + 0x1d], r12b
mov byte [r15 + 0x1e], r14b
mov byte [r15 + 0xe], al
movzx eax, byte [rsp + 0x4f]
mov byte [r15 + 0xf], al
movzx eax, byte [rsp + 0x58]
mov byte [r15 + 0x10], al
movzx eax, byte [rsp + 0x59]
mov byte [r15 + 0x11], al
movzx eax, byte [rsp + 0x50]
mov byte [r15 + 0x12], al
movzx eax, byte [rsp + 0x5e]
mov byte [r15 + 0x1f], al
movzx eax, word [rsp + 0x5a]
mov word [r15 + 0x20], ax
movzx eax, word [rsp + 0x5c]
mov word [r15 + 0x22], ax
movzx eax, byte [rsp + 0x5f]
mov byte [r15 + 0x24], al
mov rbp, qword [rsp + 0x1d0]
add r13, 0x28
mov rdx, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1d8]
mov r14, qword [rsp + 0x38]
jmp 0x7c7810
mov rax, qword [rsp + 0x2b8]
mov rcx, rsi
mov rdx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x88]
mov r8, qword [rsp + 0x2b0]
mov rax, qword [rax]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x2b8]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0xe8], rax
call fcn.007c70c0
mov rdx, rsi
sub rdx, r12
cmp rdx, 0x2a7
jle 0x7c80b0
cmp qword [rsp + 0x2b0], 0
mov qword [rsp + 0x60], rsi
jne 0x7c7150
mov r15, qword [rsp + 0x2b8]
mov r14, r12
movzx r12d, byte [r15 + 0x2f]
sar rdx, 3
movzx r13d, byte [r15 + 0x30]
movzx eax, byte [r15 + 0x28]
movzx r10d, byte [r15 + 0x2b]
mov byte [rsp + 0x38], r12b
movzx r12d, byte [r15 + 0x31]
mov byte [rsp + 0x40], r13b
movzx r13d, byte [r15 + 0x32]
movzx ebp, byte [r15 + 0x2e]
mov byte [rsp + 0x59], al
movzx ecx, byte [r15 + 0x29]
mov byte [rsp + 0x5a], r10b
mov byte [rsp + 0x48], r12b
movzx r12d, byte [r15 + 0x33]
mov byte [rsp + 0x49], r13b
movzx r13d, byte [r15 + 0x34]
movzx r11d, byte [r15 + 0x2a]
mov byte [rsp + 0x68], bpl
movzx r9d, byte [r15 + 0x2c]
mov byte [rsp + 0x50], cl
movzx r8d, byte [r15 + 0x2d]
mov byte [rsp + 0x4a], r12b
mov byte [rsp + 0x4b], r13b
movzx r12d, byte [r15 + 0x35]
movzx r13d, byte [r15 + 0x36]
mov byte [rsp + 0x5e], r11b
mov rbx, qword [r15]
mov byte [rsp + 0x5c], r9b
mov rsi, qword [r15 + 8]
mov byte [rsp + 0x5f], r8b
mov rdi, qword [r15 + 0x18]
mov byte [rsp + 0x4c], r12b
mov byte [rsp + 0x4d], r13b
movzx r12d, byte [r15 + 0x37]
mov byte [rsp + 0x178], al
movzx eax, byte [rsp + 0x38]
movzx r13d, byte [r15 + 0x38]
mov qword [rsp + 0x150], rbx
mov byte [rsp + 0x17b], r10b
mov byte [rsp + 0x4e], r12b
movzx r12d, byte [r15 + 0x3a]
mov byte [rsp + 0x17f], al
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x4f], r13b
movzx r13d, byte [r15 + 0x39]
mov byte [rsp + 0x17e], bpl
lea rbp, [rsp + 0xf0]
mov byte [rsp + 0x58], r12b
movzx r12d, byte [r15 + 0x3b]
mov byte [rsp + 0x180], al
movzx eax, byte [rsp + 0x48]
mov qword [rsp + 0x158], rsi
mov qword [rsp + 0x168], rdi
mov byte [rsp + 0x179], cl
mov byte [rsp + 0x181], al
movzx eax, byte [rsp + 0x49]
mov byte [rsp + 0x17a], r11b
mov byte [rsp + 0x17c], r9b
mov byte [rsp + 0x17d], r8b
mov byte [rsp + 0x182], al
movzx eax, byte [rsp + 0x4a]
mov byte [rsp + 0x183], al
movzx eax, byte [rsp + 0x4b]
mov byte [rsp + 0x184], al
movzx eax, byte [rsp + 0x4c]
mov byte [rsp + 0x185], al
movzx eax, byte [rsp + 0x4d]
mov qword [rsp + 0x78], rbx
mov byte [rsp + 0x189], r13b
mov byte [rsp + 0x18b], r12b
mov byte [rsp + 0x186], al
movzx eax, byte [rsp + 0x4e]
mov byte [rsp + 0x187], al
movzx eax, byte [rsp + 0x4f]
mov byte [rsp + 0x188], al
movzx eax, byte [rsp + 0x58]
mov byte [rsp + 0x18a], al
movabs rax, 0xcccccccccccccccd
imul rdx, rax
lea r10, [rdx - 2]
mov qword [rsp + 0x70], rdx
sar r10, 1
lea rax, [r10 + r10*4]
mov rbx, r10
lea r15, [r14 + rax*8]
jmp 0x7c7d39
sub rbx, 1
mov rax, qword [r15 + 0x20]
sub r15, 0x28
mov r9, qword [r15 + 0x28]
mov r8, qword [r15 + 0x30]
mov rcx, qword [r15 + 0x38]
mov rdx, qword [r15 + 0x40]
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x190], r9
mov qword [rsp + 0x198], r8
mov qword [rsp + 0x1a0], rcx
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x1a8], rdx
mov qword [rsp + 0xf0], r9
mov r9, rbp
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x100], rcx
mov rcx, r14
mov qword [rsp + 0x108], rdx
mov rdx, rbx
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov r8, qword [rsp + 0x70]
call fcn.007bd870
test rbx, rbx
jne 0x7c7d35
mov rbx, qword [rsp + 0x78]
lea rax, [rsp + 0xe0]
mov r15, qword [rsp + 0x60]
mov qword [rsp + 0x60], rax
mov rax, rdi
mov rdi, rbx
mov rbx, rsi
mov rsi, rax
sub r15, 0x28
movzx eax, byte [rsp + 0x59]
mov qword [rsp + 0x190], rdi
mov qword [rsp + 0x198], rbx
mov qword [rsp + 0x1a8], rsi
mov byte [rsp + 0x1b8], al
movzx eax, byte [rsp + 0x50]
mov byte [rsp + 0x1b9], al
movzx eax, byte [rsp + 0x5e]
mov byte [rsp + 0x1ba], al
movzx eax, byte [rsp + 0x5a]
mov byte [rsp + 0x1bb], al
movzx eax, byte [rsp + 0x5c]
mov byte [rsp + 0x1bc], al
movzx eax, byte [rsp + 0x5f]
mov byte [rsp + 0x1bd], al
movzx eax, byte [rsp + 0x68]
mov byte [rsp + 0x1be], al
movzx eax, byte [rsp + 0x38]
mov byte [rsp + 0x1bf], al
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x1c0], al
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0x1c1], al
movzx eax, byte [rsp + 0x49]
mov byte [rsp + 0x1c2], al
movzx eax, byte [rsp + 0x4a]
mov byte [rsp + 0x1c3], al
movzx eax, byte [rsp + 0x4b]
mov byte [rsp + 0x1c4], al
movzx eax, byte [rsp + 0x4c]
mov byte [rsp + 0x1c5], al
movzx eax, byte [rsp + 0x4d]
mov byte [rsp + 0x1c6], al
mov rbp, qword [r14]
mov r9, qword [r15]
mov byte [rsp + 0x1c9], r13b
mov r8, qword [r15 + 8]
mov byte [rsp + 0x1cb], r12b
movzx eax, byte [rsp + 0x4e]
mov qword [r15], rbp
mov rbp, qword [r14 + 8]
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x120], r9
mov rdx, qword [r15 + 0x18]
mov qword [rsp + 0x128], r8
mov byte [rsp + 0x1c7], al
movzx eax, byte [rsp + 0x4f]
mov qword [r15 + 8], rbp
mov rbp, qword [r14 + 0x10]
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], rdx
mov byte [rsp + 0x1c8], al
movzx eax, byte [rsp + 0x58]
mov qword [r15 + 0x10], rbp
mov rbp, qword [r14 + 0x18]
mov byte [rsp + 0x1ca], al
mov rax, qword [r15 + 0x20]
mov qword [r15 + 0x18], rbp
mov ebp, dword [r14 + 0x20]
mov qword [rsp + 0x140], rax
mov dword [r15 + 0x20], ebp
movzx ebp, byte [r14 + 0x24]
mov byte [r15 + 0x24], bpl
mov rbp, r15
sub r15, 0x28
mov qword [rsp + 0xb0], r9
sub rbp, r14
mov qword [rsp + 0xb8], r8
mov r8, rbp
mov qword [rsp + 0xc0], rcx
sar r8, 3
mov rcx, r14
mov r9, qword [rsp + 0x88]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0xc8], rdx
xor edx, edx
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
movabs rax, 0xcccccccccccccccd
imul r8, rax
call fcn.007bd870
cmp rbp, 0x4f
jg 0x7c7e71
add rsp, 0x258
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x68]
add rcx, qword [rsp + 0x218]
call qword [rsp + 0x210]
test al, al
jne 0x7c8393
mov rdx, qword [rsp + 0x50]
mov rcx, rsi
add rdx, qword [rsp + 0x228]
add rcx, qword [rsp + 0x218]
mov r8, qword [rsp + 0x68]
call qword [rsp + 0x210]
test al, al
jne 0x7c7455
mov rax, qword [r12]
movzx edx, byte [r12 + 0xf]
movzx ecx, byte [r12 + 0x10]
movzx r8d, byte [r12 + 0x11]
mov qword [rsp + 0x50], rax
movzx eax, byte [r12 + 8]
movzx r9d, byte [r12 + 0x12]
movzx r10d, byte [r12 + 0x13]
movzx r11d, byte [r12 + 0x14]
mov byte [rsp + 0x98], al
movzx eax, byte [r12 + 9]
mov byte [rsp + 0x99], al
movzx eax, byte [r12 + 0xa]
mov byte [rsp + 0x9a], al
movzx eax, byte [r12 + 0xb]
mov byte [rsp + 0x9b], al
movzx eax, byte [r12 + 0xc]
mov byte [rsp + 0x9c], al
movzx eax, byte [r12 + 0xd]
mov byte [rsp + 0x9d], al
movzx eax, byte [r12 + 0xe]
mov byte [rsp + 0x9e], al
movzx eax, byte [r12 + 0x15]
mov byte [rsp + 0x9f], al
movzx eax, byte [r12 + 0x16]
mov byte [rsp + 0xa0], al
movzx eax, byte [r12 + 0x17]
mov byte [rsp + 0xa1], al
movzx eax, byte [r12 + 0x18]
mov byte [rsp + 0xa2], al
movzx eax, byte [r12 + 0x19]
mov byte [rsp + 0xa3], al
movzx eax, byte [r12 + 0x1a]
mov byte [rsp + 0xa4], al
movzx eax, byte [r12 + 0x1b]
mov byte [rsp + 0xa5], al
movzx eax, byte [r12 + 0x1c]
mov byte [rsp + 0xa6], al
movzx eax, byte [r12 + 0x1d]
mov byte [rsp + 0xa7], al
movzx eax, byte [r12 + 0x1e]
mov byte [rsp + 0xae], al
movzx eax, byte [r12 + 0x1f]
mov byte [rsp + 0xa8], al
movzx eax, word [r12 + 0x20]
mov word [rsp + 0xaa], ax
movzx eax, word [r12 + 0x22]
mov word [rsp + 0xac], ax
movzx eax, byte [r12 + 0x24]
mov byte [rsp + 0xaf], al
mov rax, qword [rsi]
mov qword [r12], rax
mov rax, qword [rsi + 8]
mov qword [r12 + 8], rax
mov rax, qword [rsi + 0x10]
mov qword [r12 + 0x10], rax
mov rax, qword [rsi + 0x18]
mov qword [r12 + 0x18], rax
mov eax, dword [rsi + 0x20]
mov dword [r12 + 0x20], eax
movzx eax, byte [rsi + 0x24]
mov byte [r12 + 0x24], al
mov rax, qword [rsp + 0x50]
mov qword [rsi], rax
movzx eax, byte [rsp + 0x98]
mov byte [rsi + 0xf], dl
mov byte [rsi + 0x10], cl
mov byte [rsi + 0x11], r8b
mov byte [rsi + 8], al
movzx eax, byte [rsp + 0x99]
mov byte [rsi + 0x12], r9b
mov byte [rsi + 0x13], r10b
mov byte [rsi + 0x14], r11b
mov byte [rsi + 9], al
movzx eax, byte [rsp + 0x9a]
mov byte [rsi + 0xa], al
movzx eax, byte [rsp + 0x9b]
mov byte [rsi + 0xb], al
movzx eax, byte [rsp + 0x9c]
mov byte [rsi + 0xc], al
movzx eax, byte [rsp + 0x9d]
mov byte [rsi + 0xd], al
movzx eax, byte [rsp + 0x9e]
mov byte [rsi + 0xe], al
movzx eax, byte [rsp + 0x9f]
mov byte [rsi + 0x15], al
movzx eax, byte [rsp + 0xa0]
mov byte [rsi + 0x16], al
movzx eax, byte [rsp + 0xa1]
mov byte [rsi + 0x17], al
movzx eax, byte [rsp + 0xa2]
mov byte [rsi + 0x18], al
movzx eax, byte [rsp + 0xa3]
mov byte [rsi + 0x19], al
movzx eax, byte [rsp + 0xa4]
mov byte [rsi + 0x1a], al
movzx eax, byte [rsp + 0xa5]
mov byte [rsi + 0x1b], al
movzx eax, byte [rsp + 0xa6]
mov byte [rsi + 0x1c], al
movzx eax, byte [rsp + 0xa7]
mov byte [rsi + 0x1d], al
movzx eax, byte [rsp + 0xae]
mov byte [rsi + 0x1e], al
movzx eax, byte [rsp + 0xa8]
mov byte [rsi + 0x1f], al
movzx eax, word [rsp + 0xaa]
mov word [rsi + 0x20], ax
movzx eax, word [rsp + 0xac]
mov word [rsi + 0x22], ax
movzx eax, byte [rsp + 0xaf]
mov byte [rsi + 0x24], al
jmp 0x7c76e7
mov rax, qword [r12]
movzx edx, byte [r12 + 0x10]
movzx ecx, byte [r12 + 0x11]
movzx r8d, byte [r12 + 0x12]
mov qword [rsp + 0x50], rax
movzx eax, byte [r12 + 8]
movzx r9d, byte [r12 + 0x13]
movzx r10d, byte [r12 + 0x14]
movzx r11d, byte [r12 + 0x15]
mov byte [rsp + 0x98], al
movzx eax, byte [r12 + 9]
movzx esi, byte [r12 + 0x16]
mov byte [rsp + 0x99], al
movzx eax, byte [r12 + 0xa]
mov byte [rsp + 0x9a], al
movzx eax, byte [r12 + 0xb]
mov byte [rsp + 0x9b], al
movzx eax, byte [r12 + 0xc]
mov byte [rsp + 0x9c], al
movzx eax, byte [r12 + 0xd]
mov byte [rsp + 0x9d], al
movzx eax, byte [r12 + 0xe]
mov byte [rsp + 0x9e], al
movzx eax, byte [r12 + 0xf]
mov byte [rsp + 0x9f], al
movzx eax, byte [r12 + 0x17]
mov byte [rsp + 0xa0], al
movzx eax, byte [r12 + 0x18]
mov byte [rsp + 0xa1], al
movzx eax, byte [r12 + 0x19]
mov byte [rsp + 0xa2], al
movzx eax, byte [r12 + 0x1a]
mov byte [rsp + 0xa3], al
movzx eax, byte [r12 + 0x1b]
mov byte [rsp + 0xa4], al
movzx eax, byte [r12 + 0x1c]
mov byte [rsp + 0xa5], al
movzx eax, byte [r12 + 0x1d]
mov byte [rsp + 0xa6], al
movzx eax, byte [r12 + 0x1e]
mov byte [rsp + 0xa7], al
movzx eax, byte [r12 + 0x1f]
mov byte [rsp + 0xae], al
movzx eax, word [r12 + 0x20]
mov word [rsp + 0xa8], ax
movzx eax, word [r12 + 0x22]
mov word [rsp + 0xaa], ax
movzx eax, byte [r12 + 0x24]
mov byte [rsp + 0xac], al
mov rax, qword [r12 + 0x28]
mov qword [r12], rax
mov rax, qword [r12 + 0x30]
mov qword [r12 + 8], rax
mov rax, qword [r12 + 0x38]
mov qword [r12 + 0x10], rax
mov rax, qword [r12 + 0x40]
mov qword [r12 + 0x18], rax
mov eax, dword [r12 + 0x48]
mov dword [r12 + 0x20], eax
movzx eax, byte [r12 + 0x4c]
mov byte [r12 + 0x24], al
mov rax, qword [rsp + 0x50]
mov qword [r12 + 0x28], rax
movzx eax, byte [rsp + 0x98]
mov byte [r12 + 0x30], al
movzx eax, byte [rsp + 0x99]
mov byte [r12 + 0x38], dl
mov byte [r12 + 0x39], cl
mov byte [r12 + 0x3a], r8b
mov byte [r12 + 0x31], al
movzx eax, byte [rsp + 0x9a]
mov byte [r12 + 0x3b], r9b
mov byte [r12 + 0x3c], r10b
mov byte [r12 + 0x3d], r11b
mov byte [r12 + 0x32], al
movzx eax, byte [rsp + 0x9b]
mov byte [r12 + 0x3e], sil
mov byte [r12 + 0x33], al
movzx eax, byte [rsp + 0x9c]
mov byte [r12 + 0x34], al
movzx eax, byte [rsp + 0x9d]
mov byte [r12 + 0x35], al
movzx eax, byte [rsp + 0x9e]
mov byte [r12 + 0x36], al
movzx eax, byte [rsp + 0x9f]
mov byte [r12 + 0x37], al
movzx eax, byte [rsp + 0xa0]
mov byte [r12 + 0x3f], al
movzx eax, byte [rsp + 0xa1]
mov byte [r12 + 0x40], al
movzx eax, byte [rsp + 0xa2]
mov byte [r12 + 0x41], al
movzx eax, byte [rsp + 0xa3]
mov byte [r12 + 0x42], al
movzx eax, byte [rsp + 0xa4]
mov byte [r12 + 0x43], al
movzx eax, byte [rsp + 0xa5]
mov byte [r12 + 0x44], al
movzx eax, byte [rsp + 0xa6]
mov byte [r12 + 0x45], al
movzx eax, byte [rsp + 0xa7]
mov byte [r12 + 0x46], al
movzx eax, byte [rsp + 0xae]
mov byte [r12 + 0x47], al
movzx eax, word [rsp + 0xa8]
mov word [r12 + 0x48], ax
movzx eax, word [rsp + 0xaa]
mov word [r12 + 0x4a], ax
movzx eax, byte [rsp + 0xac]
mov byte [r12 + 0x4c], al
jmp 0x7c76e7
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x88], rax
jmp 0x7c7b54