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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
xor r14d, r14d
mov r12, rdx
mov rbx, rcx
mov edi, r14d
test rdx, rdx
je 0x180040e2f
mov esi, dword [rdx + 0x18]
mov ecx, 0x200
call fcn.1800083b0
mov r15, rax
test rax, rax
je 0x180040e25
lea rcx, [rax + 4]
xor edx, edx
mov r8d, 0x1fc
call fcn.1800d66b0
mov dword [r15], esi
lea rsi, [rbx + 0x60]
mov eax, dword [r12 + 0x18]
mov rcx, qword [rsi]
mov r13, rcx
mov dword [rbx + 0x20], eax
movzx eax, byte [rbx + 0x10]
mov byte [rbx + 0x17], al
mov qword [rsp + 0x30], rcx
cmp qword [rbx + 0x128], rdi
jne 0x180040f37
mov rax, qword [r12 + 8]
mov rbp, rcx
test rax, rax
cmovne rbp, rax
mov rax, qword [r12]
mov qword [rsi], rax
nop dword [rax]
cmp qword [rsi], rbp
jge 0x180040e1c
mov r9d, 1
mov dword [rsp + 0x20], 1
mov r8, r15
mov rdx, rsi
mov rcx, rbx
call fcn.18003feb0
mov edi, eax
test eax, eax
je 0x180040df0
jmp 0x180041003
lea rsi, [rbx + 0x60]
jmp 0x180040f40
mov eax, 7
jmp 0x18004119d
mov eax, dword [rcx + 0x24]
mov r15, r14
mov rsi, qword [rcx + 0x128]
mov dword [rcx + 0x20], eax
movzx eax, byte [rcx + 0x10]
mov byte [rcx + 0x17], al
test rsi, rsi
je 0x180040f27
mov eax, dword [rcx + 0x24]
mov dword [rcx + 0x20], eax
cmp byte [rsi + 0x40], dil
je 0x180040eec
mov r15d, dword [rsi + 0x58]
mov rax, qword [rsi + 0x30]
mov rcx, qword [rax]
movups xmm0, xmmword [rcx]
movups xmmword [rsi + 0x48], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsi + 0x58], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rsi + 0x68], xmm0
mov edi, dword [rsi + 0x58]
inc edi
lea ebp, [rdi + 0x1000]
nop dword [rax]
cmp edi, r15d
ja 0x180040ede
mov r8, qword [rsi + 0x30]
mov eax, ebp
sub rax, 0xfdf
shr rax, 0xc
test eax, eax
jne 0x180040eb5
mov rax, qword [r8]
mov edx, dword [rax + rdi*4 + 0x84]
jmp 0x180040ecb
cdqe
lea edx, [rdi - 1]
add rdx, 0x22
and edx, 0xfff
mov rcx, qword [r8 + rax*8]
mov edx, dword [rcx + rdx*4]
mov rcx, rbx
call fcn.180040b00
inc edi
inc ebp
mov r14d, eax
test eax, eax
je 0x180040e90
cmp r15d, dword [rsi + 0x58]
je 0x180040eec
mov rcx, rsi
call fcn.1800a3d30
mov rcx, qword [rbx + 0x120]
call fcn.18004c510
test rax, rax
je 0x180040f1f
nop dword [rax]
test r14d, r14d
jne 0x180040f1f
mov edx, dword [rax + 0x30]
mov rcx, rbx
mov rdi, qword [rax + 0x20]
call fcn.180040b00
mov r14d, eax
mov rax, rdi
test rdi, rdi
jne 0x180040f00
mov eax, r14d
jmp 0x18004119d
mov rax, qword [rcx + 0x60]
lea rsi, [rcx + 0x60]
mov qword [rsp + 0x30], rax
mov r13, rax
mov qword [rsi], r14
nop word [rax + rax]
cmp qword [rsi], r13
jge 0x180040ff2
lfence
lea rax, [rsp + 0xa8]
mov dword [rsp + 0xa0], r14d
lea r9, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r8, r13
xor edx, edx
mov rcx, rbx
call fcn.18003ef00
mov r12d, dword [rsp + 0xa0]
mov edi, eax
test r12d, r12d
jne 0x180040fb9
mov eax, dword [rbx + 0xb8]
add rax, qword [rbx + 0x68]
mov rcx, qword [rsi]
cmp rax, rcx
jne 0x180040fb9
mov rax, qword [rsp + 0x30]
sub rax, rcx
mov rcx, qword [rbx + 0xc8]
add rcx, 8
cqo
idiv rcx
mov r12, rax
mov dword [rsp + 0xa0], eax
mov ebp, r14d
test edi, edi
jne 0x180040ff2
cmp ebp, r12d
jae 0x180040f40
cmp qword [rsi], r13
jge 0x180040ff2
mov r9d, 1
mov dword [rsp + 0x20], 1
mov r8, r15
mov rdx, rsi
mov rcx, rbx
call fcn.18003feb0
inc ebp
mov edi, eax
test eax, eax
je 0x180040fc0
mov r12, qword [rsp + 0x98]
test r12, r12
je 0x18004118b
mov rcx, qword [rbx + 0xc8]
mov eax, dword [r12 + 0x1c]
add rcx, 4
mov rsi, qword [rbx + 0x128]
imul rcx, rax
mov qword [rsp + 0xa0], rcx
test rsi, rsi
je 0x180041152
mov eax, dword [rsi + 0x88]
cmp dword [r12 + 0x30], eax
je 0x18004104c
mov dword [r12 + 0x24], r14d
mov eax, dword [rsi + 0x88]
mov dword [r12 + 0x30], eax
mov ecx, dword [r12 + 0x24]
cmp ecx, dword [rsi + 0x58]
jae 0x180041148
mov dword [rsi + 0x58], ecx
mov eax, dword [r12 + 0x28]
mov dword [rsi + 0x60], eax
mov eax, dword [r12 + 0x2c]
mov dword [rsi + 0x64], eax
test ecx, ecx
je 0x180041148
lea edi, [rcx + 0x1000]
sub rdi, 0xfdf
shr rdi, 0xc
cmp dword [rsi + 0x28], edi
jle 0x1800410a5
mov rax, qword [rsi + 0x30]
movsxd rcx, edi
mov r8, qword [rax + rcx*8]
mov qword [rsp + 0x40], r8
test r8, r8
je 0x1800410a5
mov eax, r14d
jmp 0x1800410b9
lea r8, [rsp + 0x40]
mov edx, edi
mov rcx, rsi
call fcn.1800a3880
mov r8, qword [rsp + 0x40]
test r8, r8
je 0x180041148
lea rdx, [r8 + 0x4000]
mov qword [rsp + 0x38], rdx
test edi, edi
jne 0x1800410e8
add r8, 0x88
mov dword [rsp + 0x48], r14d
mov qword [rsp + 0x40], r8
mov edi, r14d
jmp 0x1800410f2
shl edi, 0xc
sub edi, 0x22
mov dword [rsp + 0x48], edi
test eax, eax
jne 0x180041148
mov r10d, dword [rsi + 0x58]
mov r9d, 0x2000
sub r10d, edi
mov r8, rdx
movzx eax, word [rdx]
cmp eax, r10d
jle 0x180041112
mov word [r8], r14w
add r8, 2
add rdx, 2
sub r9, 1
jne 0x180041106
mov ecx, dword [rsp + 0x38]
lea eax, [r10*4]
sub ecx, eax
xor edx, edx
sub ecx, dword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movsxd r8, ecx
movsxd rcx, r10d
lea rcx, [rax + rcx*4]
call fcn.1800d66b0
mov esi, dword [r12 + 0x1c]
mov edi, r14d
jmp 0x180041160
mov esi, dword [r12 + 0x1c]
test edi, edi
jne 0x18004118b
nop dword [rax + rax]
cmp esi, dword [rbx + 0x3c]
jae 0x18004118b
xor r9d, r9d
mov dword [rsp + 0x20], 1
mov r8, r15
lea rdx, [rsp + 0xa0]
mov rcx, rbx
call fcn.18003feb0
inc esi
mov edi, eax
test eax, eax
je 0x180041160
mov rcx, r15
call fcn.1800590e0
test edi, edi
jne 0x18004119b
mov qword [rbx + 0x60], r13
mov eax, edi
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret