Function at 0x1400343b1
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, 0x158
mov rsi, rdx
mov rdi, rcx
lea rbx, [rsp + 0xc8]
mov rcx, rbx
call fcn.140033645
mov eax, dword [rbx]
cmp eax, 2
jne 0x1400344d6
lea r14, [rsp + 0xc8]
mov rbx, qword [r14 + 4]
mov rdx, rbx
shr rdx, 0x20
mov rcx, r14
mov r8d, 9
call fcn.140023598
mov eax, dword [r14]
cmp eax, 2
jne 0x140034513
lea r14, [rsp + 0xc8]
mov rcx, r14
mov rdx, rsi
mov r8d, ebx
call fcn.140033d2c
mov eax, dword [r14]
cmp eax, 2
jne 0x14003455f
movups xmm0, xmmword [rsp + 0xd0]
lea rdx, [rsp + 0xa0]
movaps xmmword [rdx], xmm0
lea rbx, [rsp + 0x20]
mov rcx, rbx
call fcn.140033daa
mov r10d, dword [rbx]
cmp r10d, 2
jne 0x1400345a1
lea rbx, [rsp + 0x20]
mov r15, qword [rbx + 4]
mov rdx, r15
shr rdx, 0x20
mov rcx, rbx
mov r8d, 5
call fcn.140023598
mov r10d, dword [rbx]
cmp r10d, 2
jne 0x1400345ec
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
and qword [rsp + 0x11f], 0
movaps xmmword [rsp + 0x100], xmm0
mov ebx, r15d
mov r12, rbx
sub r12, 0x27
jbe 0x140034641
xor r11d, r11d
mov r9d, 0x506
xor r15d, r15d
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x68], rcx
xor r10d, r10d
jmp 0x1400347ec
mov rcx, qword [rsp + 0xcc]
movups xmm0, xmmword [rsp + 0xd4]
movups xmmword [rsp + 0x2c], xmm0
movups xmm0, xmmword [rsp + 0xe4]
movups xmmword [rsp + 0x3c], xmm0
movups xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0x48], xmm0
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x24], rcx
jmp 0x14003488c
mov cl, byte [rsp + 0xce]
mov byte [rsp + 0x26], cl
movzx ecx, word [rsp + 0xcc]
mov word [rsp + 0x24], cx
movups xmm0, xmmword [rsp + 0xcf]
movups xmmword [rsp + 0x27], xmm0
movups xmm0, xmmword [rsp + 0xdf]
movups xmmword [rsp + 0x37], xmm0
movups xmm0, xmmword [rsp + 0xef]
movups xmmword [rsp + 0x47], xmm0
mov cl, byte [rsp + 0xff]
mov byte [rsp + 0x57], cl
jmp 0x140034598
mov ecx, dword [rsp + 0xdc]
mov dword [rsp + 0x110], ecx
movups xmm0, xmmword [rsp + 0xcc]
movups xmm1, xmmword [rsp + 0xe0]
movups xmmword [rsp + 0x38], xmm1
movups xmm1, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0x48], xmm1
movups xmmword [rsp + 0x24], xmm0
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x20], eax
jmp 0x14003488c
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x30]
mov rax, r15
mov qword [rsp + 0x70], r15
shr r15, 0x20
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x40]
mov r12, qword [rsp + 0x44]
mov r8d, dword [rsp + 0x4c]
mov r13d, dword [rsp + 0x50]
mov edx, dword [rsp + 0x54]
mov r9, qword [rsp + 0x28]
mov r11d, r14d
shr r11d, 0x18
jmp 0x1400347ec
movzx eax, byte [rsp + 0x26]
shl eax, 0x10
movzx r14d, word [rsp + 0x24]
or r14d, eax
mov r11b, byte [rsp + 0x27]
mov r9, qword [rsp + 0x28]
mov r15, qword [rsp + 0x30]
mov rax, r15
mov qword [rsp + 0x70], r15
shr r15, 0x20
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x40]
mov r12, qword [rsp + 0x44]
mov r8d, dword [rsp + 0x4c]
mov r13d, dword [rsp + 0x50]
mov edx, dword [rsp + 0x54]
jmp 0x1400347ec
lea r14, [rsp + 0x20]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x100]
mov rcx, r14
mov r9, rbx
call fcn.14003418e
mov r10d, dword [r14]
cmp r10d, 2
jne 0x140034788
lea rax, [rbx - 3]
cmp rax, 0x24
ja 0x1400347d9
neg r12
cmp rbx, 0x27
mov r8d, 0
cmovb r8, r12
lea rcx, [rsp + rbx]
add rcx, 0xc8
xor edx, edx
call sub.msvcrt.dll_memset
lea r14, [rsp + 0xc8]
lea rdx, [rsp + 0x100]
mov rcx, r14
mov r8, rbx
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rsp + 0x21], xmm0
mov rax, qword [r14 + 0x1f]
mov qword [rsp + 0x40], rax
movups xmmword [rsp + 0x31], xmm1
mov byte [rsp + 0x20], r15b
movzx r14d, r15b
mov dl, 1
mov bl, byte [rsp + 0x21]
test dl, 1
je 0x14003470d
cmp r15b, 0x28
jae 0x140034ceb
test r15b, r15b
je 0x140034ceb
mov ecx, ebx
call fcn.14001fb9f
xor ecx, ecx
mov edx, 0
jmp 0x14003477e
test rcx, rcx
je 0x14003475d
lea rdx, [rsp + rcx]
add rdx, 0x20
xor eax, eax
cmp r15b, 0x28
jae 0x140034ceb
lea r8, [rcx + rax]
cmp r8, r14
jae 0x1400347d0
mov r8b, byte [rdx + rax + 1]
cmp rax, 4
jb 0x140034748
cmp r8b, 0xf
ja 0x1400347d9
inc rax
test r8b, r8b
js 0x14003471c
add rcx, rax
jb 0x1400347d9
xor edx, edx
jmp 0x1400346e5
cmp r15b, 0x28
jae 0x140034ceb
test r15b, r15b
je 0x140034ceb
mov ecx, ebx
call fcn.14001fb9f
mov ecx, 1
xor edx, edx
cmp al, 8
je 0x1400346e5
jmp 0x1400347d9
mov r14d, dword [rsp + 0x24]
mov r9, qword [rsp + 0x28]
mov r15, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x40]
mov r12, qword [rsp + 0x44]
mov r8d, dword [rsp + 0x4c]
mov r13d, dword [rsp + 0x50]
mov edx, dword [rsp + 0x54]
mov r11d, r14d
shr r11d, 0x18
mov rbx, r15
mov qword [rsp + 0x70], r15
shr r15, 0x20
jmp 0x1400347ec
test rax, rax
je 0x1400348ba
xor r10d, r10d
mov r9d, 8
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x68], rcx
mov rbp, r9
shr rbp, 0x20
movzx r11d, r11b
shl r11d, 0x18
and r14d, 0xffffff
or r14d, r11d
test r10d, r10d
cmove r14d, r10d
add r14d, dword [rsp + 0xac]
setae r10b
cmp r14d, 0x10000000
setb r11b
and r11b, r10b
movzx ebx, r11b
mov dword [rsp + 0x80], eax
mov qword [rsp + 0x84], r12
mov eax, dword [rsp + 0x88]
mov r10, qword [rsp + 0x80]
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x20], ebx
mov dword [rsp + 0x24], r14d
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x2c], ebp
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x34], r15d
mov dword [rsp + 0x38], ecx
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x4c], r8d
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x54], edx
mov byte [rsp + 0x60], 0x18
mov r8d, dword [rsi + 0xc]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.140023620
mov byte [rdi + 0x40], 0x18
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx r12d, byte [rsp + 0x22]
movzx r9d, word [rsp + 0x20]
mov rbx, qword [rsp + 0x23]
mov rbp, qword [rsp + 0x2c]
mov r15d, dword [rsp + 0x34]
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x90], rax
mov r13d, dword [rsp + 0x3c]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
movzx r14d, byte [rsp + 0x2b]
mov eax, dword [rsp + 0xac]
mov dl, 0x17
cmp dword [rsp + 0xa8], eax
jbe 0x14003493a
mov dword [rsp + 0x9c], r9d
mov dword [rsp + 0x68], eax
mov rcx, qword [rsp + 0xa0]
call fcn.140033600
test al, 1
jne 0x140034a67
mov qword [rsp + 0x68], r13
mov dl, 0x17
mov r9d, dword [rsp + 0x9c]
jmp 0x14003493f
mov qword [rsp + 0x68], r13
shl r12d, 0x10
or r9d, r12d
mov rcx, rbp
shld r14, rbx, 0x38
shr rcx, 0x20
shl ebx, 0x18
or ebx, r9d
mov r9, r14
shr r9, 0x20
mov r11d, dword [rsp + 0xc8]
mov r12d, dword [rsp + 0xcb]
mov dword [rsp + 0x103], r12d
mov dword [rsp + 0x100], r11d
mov r11d, dword [rsp + 0x100]
mov r12d, dword [rsp + 0x103]
mov dword [rsp + 0x78], r11d
mov dword [rsp + 0x7b], r12d
mov r11d, dword [rsp + 0x78]
mov r12d, dword [rsp + 0x7b]
mov dword [rsp + 0xb8], r11d
mov dword [rsp + 0xbb], r12d
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], r10d
cmp dl, 0x18
jne 0x1400349e6
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x90]
mov edx, dword [rsp + 0x98]
jmp 0x140034839
mov r10d, dword [rsp + 0x88]
mov r11, qword [rsp + 0x80]
mov r12d, dword [rsp + 0xb8]
mov eax, dword [rsp + 0xbb]
mov dword [rsp + 0xc0], r12d
mov dword [rsp + 0xc3], eax
mov qword [rsp + 0x130], r11
mov dword [rsp + 0x138], r10d
mov r11d, dword [rsp + 0xa8]
mov r10d, dword [rsp + 0xac]
cmp r11d, r10d
jbe 0x140034af0
xor eax, eax
sub r11d, r10d
cmovb r11d, eax
mov byte [rsp + 0x28], 0x15
mov dword [rsp + 0x2c], r10d
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x20], 1
mov dword [rsp + 0x24], r10d
jmp 0x14003488c
lea rcx, [rsp + 0x20]
call fcn.140023415
lea rax, [rsp + 0x20]
mov eax, dword [rax]
cmp eax, 2
jne 0x140034b74
mov qword [rsp + 0x68], r13
lea r13, [rsp + 0x20]
lea rdx, [rsp + 0xa0]
mov rcx, r13
call fcn.14003421e
mov eax, dword [r13]
cmp eax, 2
jne 0x140034bdc
mov r10d, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x2c]
mov r13d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x140], rax
mov al, byte [rsp + 0x40]
mov edx, dword [rsp + 0x41]
mov dword [rsp + 0xc8], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0xcb], edx
mov edx, eax
jmp 0x140034930
lea rsi, [rsp + 0x20]
mov dword [rsi], ebx
mov dword [rsi + 4], r14d
mov dword [rsi + 8], r9d
mov dword [rsi + 0xc], ebp
mov dword [rsi + 0x10], ecx
mov dword [rsi + 0x14], r15d
mov rax, qword [rsp + 0x90]
mov dword [rsi + 0x18], eax
mov rax, qword [rsp + 0x68]
mov dword [rsi + 0x1c], eax
mov rax, qword [rsp + 0x130]
mov qword [rsi + 0x20], rax
mov eax, dword [rsp + 0x138]
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x2c], r8d
mov dword [rsi + 0x30], r13d
mov eax, dword [rsp + 0x98]
mov dword [rsi + 0x34], eax
mov rax, qword [rsp + 0x140]
mov qword [rsi + 0x38], rax
mov byte [rsi + 0x40], dl
mov eax, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xc3]
mov dword [rsi + 0x41], eax
mov dword [rsi + 0x44], ecx
mov ecx, 9
rep movsq qword [rdi], qword [rsi]
jmp 0x1400348a6
movzx ecx, byte [rsp + 0x26]
shl ecx, 0x10
movzx r14d, word [rsp + 0x24]
or r14d, ecx
mov bl, byte [rsp + 0x27]
mov r9d, dword [rsp + 0x28]
mov ebp, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x30]
mov qword [rsp + 0x70], rcx
mov r15d, dword [rsp + 0x34]
mov r11, qword [rsp + 0x38]
mov r10b, byte [rsp + 0x40]
mov ecx, dword [rsp + 0x41]
mov dword [rsp + 0xc8], ecx
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0xcb], ecx
mov ecx, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x4c]
mov r12d, dword [rsp + 0x50]
mov dword [rsp + 0x90], r12d
mov edx, dword [rsp + 0x54]
jmp 0x140034c43
mov r14d, dword [rsp + 0x24]
mov r9d, dword [rsp + 0x28]
mov ebp, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x30]
mov qword [rsp + 0x70], rcx
mov r15d, dword [rsp + 0x34]
mov r11, qword [rsp + 0x38]
mov r10b, byte [rsp + 0x40]
mov ecx, dword [rsp + 0x41]
mov dword [rsp + 0xc8], ecx
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0xcb], ecx
mov ecx, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x4c]
mov ebx, dword [rsp + 0x50]
mov dword [rsp + 0x90], ebx
mov edx, dword [rsp + 0x54]
mov ebx, r14d
shr ebx, 0x18
mov r12d, dword [rsp + 0xac]
mov dword [rsp + 0x68], r12d
mov r12d, dword [rsp + 0xc8]
mov r13d, dword [rsp + 0xcb]
mov dword [rsp + 0x103], r13d
mov dword [rsp + 0x100], r12d
movzx ebx, bl
shl ebx, 0x18
and r14d, 0xffffff
or r14d, ebx
test eax, eax
cmove r14d, eax
add r14d, dword [rsp + 0x68]
setae al
cmp r14d, 0x10000000
setb bl
and bl, al
movzx ebx, bl
mov rax, r11
shr rax, 0x20
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x100]
mov r12d, dword [rsp + 0x103]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7b], r12d
mov dword [rsp + 0x88], ecx
mov byte [rsp + 0x80], r10b
mov eax, dword [rsp + 0x78]
mov r10d, dword [rsp + 0x7b]
mov dword [rsp + 0x81], eax
mov dword [rsp + 0x84], r10d
mov rcx, r11
mov r13d, dword [rsp + 0x90]
jmp 0x140034839
ud2