Function at 0x4693a0
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, 0x378
mov r15, qword [rcx + 8]
mov rax, qword [rcx]
mov rdi, qword [rcx + 0x10]
mov r9, qword [r15 + 0x20]
mov qword [rsp + 0x3c8], rdx
mov r13, rcx
mov edx, dword [r15 + 0x14]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
mov rcx, qword [rax + 8]
movzx eax, byte [rdi + 0x10]
mov qword [rsp + 0x3d0], r8
lea r8, [rax + rax*2]
lea rax, [rax + r8*4]
lea rax, [rcx + rax*8 + 8]
mov qword [rsp + 0x28], rax
test byte [rax + 0x3c], 0x10
jne 0x4694a5
movsxd rax, edx
mov r12, qword [r15 + 0x20]
lea rdx, [rax*8]
sub rdx, rax
lea rbp, [r9 + rdx*8]
cmp rbp, r12
jbe 0x4694a5
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x38], r15
mov r14, r13
mov r15, rdi
mov r13, rbp
mov rbp, r12
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x34], eax
test byte [rbp + 0x15], 2
je 0x46949c
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax + 0x1e8]
test qword [r15 + 8], rdx
jne 0x4694c0
add rbp, 0x38
cmp r13, rbp
ja 0x469485
xor r14d, r14d
mov eax, r14d
add rsp, 0x378
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movsxd rdx, dword [rax + 0x14]
mov rsi, qword [rax + 0x20]
movdqu xmm1, xmmword [r14 + 0x10]
movdqu xmm0, xmmword [r14]
lea rax, [rdx*8]
sub rax, rdx
movups xmmword [rsp + 0xa0], xmm1
lea rdi, [rsi + rax*8]
mov rax, qword [r14 + 0x20]
movups xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0xa8], rax
lea rax, [r15 + 0x18]
mov qword [rsp + 0x68], rax
cmp rsi, rdi
jae 0x469a31
xor edi, edi
mov dword [rsp + 0x50], 1
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x80], rbp
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x3c0], r14
jmp 0x46960f
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x28]
xor edi, edi
lea r12, [rsp + 0x90]
mov word [rsp + 0x100], di
mov rax, qword [rax + 0x20]
cmp byte [rax + 0x3f], 1
je 0x469678
mov rdx, qword [rsp + 0x3c8]
mov rcx, r12
call fcn.004688a0
mov dword [rsp + 0x30], eax
mov ebx, dword [rsp + 0x30]
test ebx, ebx
je 0x4696a0
movzx r9d, word [rsp + 0x100]
test r9w, r9w
je 0x469a02
mov r10d, dword [rsp + 0x50]
test r10d, r10d
je 0x4696c8
movzx r8d, r9w
lea rcx, [rsp + 0xc8]
lea rdx, [rsp + 0x108]
mov word [rsp + 0xc0], r9w
shl r8, 4
call sub.msvcrt.dll_memcpy
mov dword [rsp + 0x50], 0
add rsi, 0x38
cmp qword [rsp + 0x40], rsi
jbe 0x469938
test byte [rsi + 0x15], 4
jne 0x469560
mov eax, dword [rsp + 0x34]
cmp dword [rsi + 0x1c], eax
jne 0x469600
mov rdi, qword [rsp + 0x38]
mov rax, qword [rdi]
mov qword [rsp + 0x188], rdi
mov byte [rsp + 0x190], 0x2c
mov qword [rsp + 0x180], rax
lea rax, [rsp + 0x180]
mov dword [rsp + 0x194], 1
mov dword [rsp + 0x19c], 1
mov qword [rsp + 0x1a0], rsi
mov qword [rsp + 0x98], rax
jmp 0x46956c
mov r8, qword [rsp + 0x3d0]
mov rdx, qword [rsp + 0x3c8]
mov rcx, r12
call fcn.004675d0
mov dword [rsp + 0x30], eax
jmp 0x4695a5
mov r8, qword [rsp + 0x3d0]
mov rdx, qword [rsp + 0x3c8]
mov rcx, r12
call fcn.004693a0
mov dword [rsp + 0x30], eax
jmp 0x4695b1
movzx r8d, word [rsp + 0xc0]
lea rcx, [rsp + 0x148]
lea rdx, [rsp + 0xc8]
mov dword [rsp + 0x48], r9d
lea r13, [rsp + 0x140]
mov rdi, r8
shl r8, 4
call sub.msvcrt.dll_memcpy
xor r9d, r9d
mov word [rsp + 0xc0], r9w
test di, di
je 0x469600
lea eax, [rdi - 1]
mov qword [rsp + 0x88], rsi
mov r9d, dword [rsp + 0x48]
lea r14, [rsp + 0xc0]
shl rax, 4
lea rax, [rsp + rax + 0x150]
mov qword [rsp + 0x58], rax
test r9w, r9w
je 0x46991e
movsx r12d, word [r13 + 0x12]
mov rcx, qword [r13 + 8]
mov qword [rsp + 0x48], r13
xor esi, esi
movsx r15d, word [r13 + 0x10]
mov rbx, qword [rsp + 0x60]
mov r13, r14
lea eax, [r12 + 1]
mov edi, r12d
cwde
mov ebp, r15d
mov r14d, r15d
mov r15d, r12d
mov dword [rsp + 0x54], eax
mov r12, rcx
movsx r9d, word [rbx + 0x12]
mov eax, r9d
cmp r9w, di
jg 0x469850
lea eax, [r9 + 0x31]
cmp eax, r15d
jl 0x469890
lea eax, [r9 + 0x1f]
cmp eax, r15d
jge 0x4698a0
mov r9d, dword [rsp + 0x54]
nop dword [rax]
movsx r8d, word [rbx + 0x10]
mov eax, r8d
cmp r8w, bp
jg 0x469830
lea eax, [r8 + 0x31]
cmp eax, r14d
jl 0x469880
lea eax, [r8 + 0x1f]
cmp eax, r14d
jge 0x4698e0
lea r8d, [rbp + 1]
movsx r8d, r8w
mov rdx, qword [rbx + 8]
mov rcx, r13
add esi, 1
add rbx, 0x10
or rdx, r12
call fcn.00409cf0
movzx eax, word [rsp + 0x100]
mov r9d, eax
cmp eax, esi
jg 0x469778
mov r14, r13
mov r13, qword [rsp + 0x48]
add r13, 0x10
cmp qword [rsp + 0x58], r13
jne 0x469738
mov rsi, qword [rsp + 0x88]
jmp 0x469600
lea edx, [r14 + 0x31]
cmp r8d, edx
jg 0x4697e0
lea edx, [r14 + 0x1f]
cmp r8d, edx
jle 0x4698c0
lea r8d, [r8 + 1]
movsx r8d, r8w
jmp 0x4697e0
lea edx, [r15 + 0x31]
cmp r9d, edx
jg 0x4697b0
lea edx, [r15 + 0x1f]
cmp r9d, edx
jle 0x469900
lea r9d, [r9 + 1]
movsx r9d, r9w
jmp 0x4697b0
mov r8d, r14d
jmp 0x4697e0
mov r9d, r15d
jmp 0x4697b0
mov eax, r15d
lea rcx, str._n_n_t_t_b_b_a_a_a
sub eax, r9d
cdqe
movzx r9d, byte [rcx + rax]
add r9d, edi
movsx r9d, r9w
jmp 0x4697b0
sub r8d, r14d
lea rcx, str._n_n_t_t_b_b_a_a_a
movsxd r8, r8d
movzx r8d, byte [rcx + r8]
add r8d, eax
movsx r8d, r8w
jmp 0x4697e0
mov eax, r14d
lea rcx, str._n_n_t_t_b_b_a_a_a
sub eax, r8d
cdqe
movzx r8d, byte [rcx + rax]
add r8d, ebp
movsx r8d, r8w
jmp 0x4697e0
sub r9d, r15d
lea rcx, str._n_n_t_t_b_b_a_a_a
movsxd r9, r9d
movzx r9d, byte [rcx + r9]
add r9d, eax
movsx r9d, r9w
jmp 0x4697b0
add r13, 0x10
cmp r13, qword [rsp + 0x58]
jne 0x469811
jmp 0x469820
mov r13, qword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
mov edi, dword [rsp + 0x30]
mov r14, qword [rsp + 0x3c0]
mov rax, qword [r15 + 0x48]
mov ecx, 1
xor r8d, r8d
mov word [r15 + 0x3c], cx
mov qword [rax], rbp
mov rax, qword [rsp + 0x68]
mov dword [r15 + 0x38], 0x2000
mov word [r15 + 0x12], r8w
mov byte [r15 + 0x11], 0
mov qword [r15 + 0x18], 0
mov qword [r15 + 0x20], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
test edi, edi
jne 0x469a80
lea rbx, [rsp + 0xc0]
xor esi, esi
nop dword [rax + rax]
movzx eax, word [rsp + 0xc0]
cmp esi, eax
jge 0x46949c
movzx eax, word [rbx + 0x10]
mov rdx, r15
mov rcx, r14
add esi, 1
add rbx, 0x10
add eax, 1
mov word [r15 + 0x14], ax
movzx eax, word [rbx + 2]
mov word [r15 + 0x16], ax
mov rax, qword [rbx - 8]
mov qword [r15], rax
call fcn.0044d750
test eax, eax
je 0x4699b8
mov r14d, eax
jmp 0x4694a8
xor r11d, r11d
mov r13, qword [rsp + 0x70]
mov edi, dword [rsp + 0x30]
mov word [rsp + 0xc0], r11w
mov r15, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
mov r14, qword [rsp + 0x3c0]
jmp 0x469956
mov eax, 1
xor edx, edx
mov word [r15 + 0x3c], ax
mov rax, qword [r15 + 0x48]
mov qword [rax], rbp
mov rax, qword [rsp + 0x68]
mov dword [r15 + 0x38], 0x2000
mov word [r15 + 0x12], dx
mov byte [r15 + 0x11], 0
mov qword [r15 + 0x18], 0
mov qword [r15 + 0x20], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
jmp 0x4699a9
mov r14d, edi
jmp 0x4694a8