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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1c8
mov r14, rdx
mov qword [rsp + 0x28], rcx
movabs r13, 0x8000000000000000
mov rax, qword [rdx]
lea rsi, [rax + 0xa0]
mov rcx, qword [rax + 0xb0]
mov qword [rsp + 0xa8], rcx
movups xmm0, xmmword [rax + 0xa0]
movups xmmword [rsp + 0x98], xmm0
mov rcx, qword [rax + 0xb0]
mov qword [rsp + 0x90], rcx
movups xmm0, xmmword [rax + 0xa0]
movups xmmword [rsp + 0x48], xmm0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 8
mov qword [rsp + 0x40], 0
mov rbx, qword [rdx + 8]
mov rdi, qword [rdx + 0x10]
xor r12d, r12d
mov qword [rsp + 0x78], rbx
mov r8, qword [rsi]
test r8, r8
je 0x1803488b6
cmp r8, rdi
jae 0x1803488b0
cmp byte [rbx + r8], 0xbf
jg 0x1803488b6
jmp 0x180349068
jne 0x180349068
cmp r8, rdi
je 0x180349076
movzx eax, byte [rbx + r8]
mov ecx, eax
test al, al
jns 0x180348913
mov ecx, eax
and ecx, 0x1f
movzx r9d, byte [rbx + r8 + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x18034890d
movzx edx, byte [rbx + r8 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp al, 0xf0
jb 0x180348ac0
movzx r9d, byte [rbx + r8 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
jmp 0x180348910
shl ecx, 6
or ecx, r9d
cmp ecx, 0x3a
je 0x180348d9e
test r8, r8
je 0x180348932
cmp r8, rdi
jae 0x180349068
cmp al, 0xbf
jle 0x180349068
mov ecx, eax
test al, al
jns 0x180348981
mov ecx, eax
and ecx, 0x1f
movzx r9d, byte [rbx + r8 + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x18034897b
movzx edx, byte [rbx + r8 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp al, 0xf0
jb 0x180348ad3
movzx r9d, byte [rbx + r8 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
jmp 0x18034897e
shl ecx, 6
or ecx, r9d
cmp ecx, 0x29
je 0x180348d9e
test r8, r8
je 0x1803489a0
cmp r8, rdi
jae 0x180349068
cmp al, 0xbf
jle 0x180349068
test al, al
jns 0x180348a00
mov ecx, eax
and ecx, 0x1f
movzx r9d, byte [rbx + r8 + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1803489ef
movzx edx, byte [rbx + r8 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp al, 0xf0
jb 0x180348ae6
movzx eax, byte [rbx + r8 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x2d
je 0x180348a09
jmp 0x180348b00
shl ecx, 6
or ecx, r9d
mov eax, ecx
nop word [rax + rax]
cmp eax, 0x2d
jne 0x180348b00
lea rcx, [rsp + 0x198]
mov rdx, r14
call fcn.180341d80
lea rcx, [rsp + 0x160]
mov rdx, r14
call fcn.180341d80
mov byte [rsp + 0x190], 7
mov rax, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
test rbp, rbp
je 0x180348a68
imul rcx, rbp, 0x38
xor r12d, r12d
xor r15d, r15d
nop word [rax + rax]
cmp byte [rax + r12 + 0x30], 7
je 0x180348c93
inc r15
add r12, 0x38
cmp rcx, r12
jne 0x180348a50
cmp rbp, qword [rsp + 0x30]
jne 0x180348a7e
lea rcx, [rsp + 0x30]
call fcn.180315840
mov rax, qword [rsp + 0x38]
imul rcx, rbp, 0x38
mov rdx, qword [rsp + 0x190]
mov qword [rax + rcx + 0x30], rdx
movups xmm0, xmmword [rsp + 0x160]
movups xmm1, xmmword [rsp + 0x170]
movups xmm2, xmmword [rsp + 0x180]
movups xmmword [rax + rcx + 0x20], xmm2
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
mov r12d, 1
jmp 0x180348c13
shl ecx, 0xc
or ecx, edx
cmp ecx, 0x3a
jne 0x18034891c
jmp 0x180348d9e
shl ecx, 0xc
or ecx, edx
cmp ecx, 0x29
jne 0x18034898a
jmp 0x180348d9e
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, 0x2d
je 0x180348a09
nop word cs:[rax + rax]
lea rcx, [rsp + 0x100]
mov rdx, r14
call fcn.180341d80
lea rcx, [rsp + 0x80]
mov rdx, r14
call fcn.180349090
mov rax, qword [rsp + 0x80]
movzx r12d, byte [rsp + 0x88]
cmp rax, r13
jne 0x180348f4f
mov rbx, rsi
mov rsi, r13
movups xmm0, xmmword [rsp + 0x100]
movups xmm1, xmmword [rsp + 0x110]
movups xmm2, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x150], xmm2
mov rax, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
test rbp, rbp
je 0x180348bc0
imul rcx, rbp, 0x38
xor r13d, r13d
xor r15d, r15d
jmp 0x180348b9c
inc r15
add r13, 0x38
cmp rcx, r13
je 0x180348bc0
movzx edx, byte [rax + r13 + 0x30]
cmp dl, r12b
jne 0x180348b90
cmp dl, 7
je 0x180348b90
jmp 0x180348d16
cmp rbp, qword [rsp + 0x30]
jne 0x180348bd6
lea rcx, [rsp + 0x30]
call fcn.180315840
mov rax, qword [rsp + 0x38]
imul rcx, rbp, 0x38
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movaps xmm2, xmmword [rsp + 0x150]
movups xmmword [rax + rcx + 0x20], xmm2
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
mov byte [rax + rcx + 0x30], r12b
xor r12d, r12d
mov r13, rsi
mov rsi, rbx
mov rbx, qword [rsp + 0x78]
inc rbp
mov qword [rsp + 0x40], rbp
mov rcx, r14
call fcn.1803410a0
test al, al
jne 0x180348897
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0xa8], rax
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x98], xmm0
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x90], rax
test rdi, rdi
js 0x180349078
je 0x180349014
movzx eax, byte [0x1805297c8]
mov r15d, 1
mov edx, 1
mov rcx, rdi
call fcn.1802cbf10
test rax, rax
je 0x18034907b
mov r14, rax
jmp 0x18034901a
lea rcx, [rsp + 0x100]
mov rdx, r14
call fcn.180341d80
cmp r15, qword [rsp + 0x40]
jae 0x180349076
mov rax, qword [rsp + 0x38]
movups xmm0, xmmword [rax + r12]
movups xmm1, xmmword [rax + r12 + 0x10]
movups xmm2, xmmword [rax + r12 + 0x20]
movups xmmword [rsp + 0x84], xmm0
movups xmmword [rsp + 0x94], xmm1
movups xmmword [rsp + 0xa4], xmm2
test rdi, rdi
js 0x180349078
je 0x180348de2
movzx eax, byte [0x1805297c8]
mov r15d, 1
mov edx, 1
mov rcx, rdi
call fcn.1802cbf10
test rax, rax
je 0x18034907b
mov r14, rax
jmp 0x180348de8
lea rcx, [rsp + 0x100]
mov rdx, r14
call fcn.180341d80
cmp r15, qword [rsp + 0x40]
jae 0x180349076
mov rax, qword [rsp + 0x38]
movups xmm0, xmmword [rax + r13]
movups xmm1, xmmword [rax + r13 + 0x10]
movups xmm2, xmmword [rax + r13 + 0x20]
movups xmmword [rsp + 0x84], xmm0
movups xmmword [rsp + 0x94], xmm1
movups xmmword [rsp + 0xa4], xmm2
test rdi, rdi
mov rsi, qword [rsp + 0x78]
js 0x180349078
je 0x180348e61
movzx eax, byte [0x1805297c8]
mov r15d, 1
mov edx, 1
mov rcx, rdi
call fcn.1802cbf10
test rax, rax
je 0x18034907b
mov r14, rax
jmp 0x180348e67
cmp r12, 1
jne 0x180348f11
test rdi, rdi
js 0x180349078
je 0x180348fc0
movzx eax, byte [0x1805297c8]
mov r15d, 1
mov edx, 1
mov rcx, rdi
call fcn.1802cbf10
test rax, rax
je 0x18034907b
mov r14, rax
jmp 0x180348fc6
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.180468b10
movups xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x90]
movups xmm2, xmmword [rsp + 0xa0]
mov rcx, qword [rsp + 0x28]
movups xmmword [rcx + 0x1c], xmm0
movups xmmword [rcx + 0x2c], xmm1
movups xmmword [rcx + 0x3c], xmm2
mov eax, dword [rsp + 0xb0]
mov dword [rcx + 0x4c], eax
movups xmm0, xmmword [rsp + 0x100]
movups xmm1, xmmword [rsp + 0x110]
movups xmm2, xmmword [rsp + 0x120]
movups xmmword [rcx + 0x70], xmm2
movups xmmword [rcx + 0x60], xmm1
movups xmmword [rcx + 0x50], xmm0
mov qword [rcx], rdi
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rdi
mov dword [rcx + 0x18], 0xe
jmp 0x180348ede
mov r14d, 1
mov rcx, r14
mov rdx, rsi
mov r8, rdi
call fcn.180468b10
movups xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x90]
movups xmm2, xmmword [rsp + 0xa0]
mov rcx, qword [rsp + 0x28]
movups xmmword [rcx + 0x1c], xmm0
movups xmmword [rcx + 0x2c], xmm1
movups xmmword [rcx + 0x3c], xmm2
mov eax, dword [rsp + 0xb0]
mov dword [rcx + 0x4c], eax
movups xmm0, xmmword [rsp + 0x100]
movups xmm1, xmmword [rsp + 0x110]
movups xmm2, xmmword [rsp + 0x120]
movups xmmword [rcx + 0x70], xmm2
movups xmmword [rcx + 0x60], xmm1
movups xmmword [rcx + 0x50], xmm0
mov qword [rcx], rdi
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rdi
mov dword [rcx + 0x18], 0xd
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x60], xmm0
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x48], rax
movups xmmword [rcx + 0x38], xmm0
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmm2, xmmword [rsp + 0x50]
movups xmmword [rcx + 0x28], xmm2
movups xmmword [rcx + 0x18], xmm1
movups xmmword [rcx + 8], xmm0
mov qword [rcx], r13
jmp 0x180348efc
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x28]
mov qword [rdx + 0x78], rcx
movups xmm0, xmmword [rsp + 0xe9]
movups xmmword [rdx + 0x69], xmm0
movups xmm0, xmmword [rsp + 0xd9]
movups xmmword [rdx + 0x59], xmm0
movups xmm0, xmmword [rsp + 0xc9]
movups xmmword [rdx + 0x49], xmm0
movups xmm0, xmmword [rsp + 0x89]
movups xmm1, xmmword [rsp + 0x99]
movups xmm2, xmmword [rsp + 0xa9]
movups xmm3, xmmword [rsp + 0xb9]
movups xmmword [rdx + 0x39], xmm3
movups xmmword [rdx + 0x29], xmm2
movups xmmword [rdx + 0x19], xmm1
movups xmmword [rdx + 9], xmm0
mov qword [rdx], rax
mov byte [rdx + 8], r12b
jmp 0x180348ede
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.180468b10
movups xmm0, xmmword [rsp + 0x198]
movups xmm1, xmmword [rsp + 0x1a8]
adc byte [rsp + 0x1a8], cl
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.180468b10
movaps xmm0, xmmword [rsp + 0x80]
add byte [rdi], cl
sub byte [rsp + 0x90], cl
mov rcx, rbx
mov rdx, rdi
mov r9, rdi
call fcn.180407090
ud2
xor r15d, r15d
mov rcx, r15
mov rdx, rdi
call fcn.180407090
int3