Function at 0x423310
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, 0xf8
mov rbx, r8
mov r13, rdx
mov rdi, rcx
lea rsi, [r8 + 1]
mov r12, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x18]
xor r14d, r14d
test rdx, rdx
je 0x423395
mov ecx, 0xff
mov rax, rdx
mov r8, rdx
jmp 0x423358
mov r8, rax
sub rax, r14
jbe 0x423395
shr rax, 1
add rax, r14
mov r10, rax
shl r10, 5
xor r9d, r9d
cmp qword [r12 + r10], rsi
setne r9b
cmovb r9d, ecx
cmp r9b, 1
je 0x423350
movzx r9d, r9b
inc rax
mov r14, rax
cmp r9d, 0xff
jne 0x423395
mov rax, r8
sub rax, r14
ja 0x423358
cmp r14, rdx
ja 0x423984
shl r14, 5
add r14, r12
mov rax, qword [r13 + 0x28]
mov qword [rsp + 0xe0], rax
mov rax, qword [r13 + 0x30]
mov qword [rsp + 0x50], rax
mov r15d, 1
cmp r12, r14
je 0x423833
mov rax, r14
cmp qword [r14 - 8], rbx
jbe 0x423833
lea r14, [rax - 0x20]
cmp qword [rax - 0x18], rbx
jbe 0x4233c0
cmp rsi, qword [rax - 0x20]
jbe 0x4233c0
mov rcx, qword [rax - 0x10]
cmp rcx, qword [rsp + 0x50]
jae 0x423963
imul rax, rcx, 0x230
mov rcx, qword [rsp + 0xe0]
lea rdx, [rcx + rax]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r13
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x68], r13
add rcx, rax
add rcx, 0x200
lea rdx, [rsp + 0xa8]
lea r8, [rsp + 0x68]
call fcn.004326c0
cmp qword [rax], 0
je 0x423454
mov rcx, qword [rax + 0x18]
test rcx, rcx
jne 0x423472
jmp 0x4234d2
movzx ecx, byte [rax + 8]
mov rdx, qword [rax + 0x10]
cmp rcx, 0x4b
jne 0x4238e9
mov rax, rdx
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x4234d2
mov rdx, qword [rax + 0x10]
xor r9d, r9d
mov r8, rcx
jmp 0x423488
mov r8, rcx
sub rcx, r9
jbe 0x4234d2
shr rcx, 1
add rcx, r9
lea r10, [rcx + rcx*2]
cmp rbx, qword [rdx + r10*8 + 8]
mov r11d, 0
adc r11b, 0xff
cmp qword [rdx + r10*8], rbx
movzx r11d, r11b
cmova r11d, r15d
cmp r11b, 1
je 0x423480
movzx r9d, r11b
cmp r9d, 0xff
jne 0x423627
inc rcx
mov r9, rcx
mov rcx, r8
sub rcx, r9
ja 0x423488
xor edx, edx
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x38]
add rax, 0x10
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rax
cmp dword [rcx + 0x100], 0x2f
jne 0x423510
mov r8d, 2
jmp 0x4237ea
mov qword [rsp + 0x38], rdx
lea rax, [rcx + 0xd8]
mov qword [rsp + 0xa8], rax
add rcx, 0x1d8
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x68]
call fcn.004327e0
lea rcx, [rax + 8]
cmp qword [rax], 0
cmovne rcx, rax
jne 0x42357f
movzx r8d, byte [rcx]
mov rdx, qword [rcx + 8]
cmp r8, 0x4b
jne 0x42390d
mov rcx, rdx
mov r8d, 2
test rcx, rcx
je 0x4236aa
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
test rdx, rdx
je 0x4236af
mov r8, rdx
xor r10d, r10d
mov r9, rdx
jmp 0x4235b8
mov r9, r8
sub r8, r10
jbe 0x423601
shr r8, 1
add r8, r10
mov r11, r8
shl r11, 5
cmp rbx, qword [rax + r11 + 0x18]
mov ebp, 0
adc bpl, 0xff
cmp qword [rax + r11 + 0x10], rbx
movzx r11d, bpl
cmova r11d, r15d
cmp r11b, 1
je 0x4235b0
movzx r10d, r11b
cmp r10d, 0xff
jne 0x423619
inc r8
mov r10, r8
mov r8, r9
sub r8, r10
ja 0x4235b8
mov r8d, 0
mov r11, rdx
mov r9d, 0
test r10, r10
jne 0x423753
cmp r8, rdx
jb 0x4236bb
jmp 0x42374d
mov rcx, qword [rdx + r10*8 + 0x10]
mov rdx, qword [rax + 8]
cmp rcx, rdx
jae 0x423976
mov rdx, qword [rax]
shl rcx, 3
lea rcx, [rcx + rcx*8]
mov rdx, qword [rdx + rcx]
mov qword [rsp + 0xa8], rdx
mov rax, qword [rax]
lea rcx, [rax + rcx + 8]
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x68]
call fcn.004325f0
mov rdx, rax
cmp qword [rax + 0x10], 0
jne 0x4234d4
movzx ecx, byte [rdx]
mov r9, rdx
mov rdx, qword [rdx + 8]
cmp rcx, 0x4b
je 0x4234d4
jmp 0x423941
jmp 0x4237e5
xor r8d, r8d
cmp r8, rdx
jae 0x42374d
mov r9, r8
shl r9, 5
mov r10, qword [rax + r9 + 8]
test r10, r10
je 0x42374d
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x30], rdi
mov r11, qword [rax + r9]
xor r9d, r9d
mov r13, r10
jmp 0x4236f8
mov r13, r10
sub r10, r9
jbe 0x423739
shr r10, 1
add r10, r9
lea rdi, [r10 + r10*2]
xor ebp, ebp
cmp qword [r11 + rdi*8], rbx
setne bpl
mov edi, 0xff
cmovb ebp, edi
cmp bpl, 1
je 0x4236f0
movzx r9d, bpl
cmp r9d, 0xff
jne 0x423816
inc r10
mov r9, r10
mov r10, r13
sub r10, r9
ja 0x4236f8
sub r9, 1
mov rdi, qword [rsp + 0x30]
mov r13, qword [rsp + 0x28]
jae 0x42382b
mov r11, r8
xor r9d, r9d
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xb8], r11
mov qword [rsp + 0xc0], r9
mov qword [rsp + 0xc8], rsi
mov qword [rsp + 0xd0], rcx
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0xa8]
call fcn.00476a20
mov eax, dword [rsp + 0x88]
cmp eax, 2
jne 0x4237ae
mov rdx, qword [rsp + 0x38]
mov r8d, 2
jmp 0x4237ea
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x28], rcx
lea rdx, [rsp + 0x8c]
mov rcx, qword [rdx]
mov qword [rsp + 0x98], rcx
mov ecx, dword [rdx + 8]
mov dword [rsp + 0xa0], ecx
mov r8d, eax
mov rdx, qword [rsp + 0x38]
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x40], rax
test rdx, rdx
jne 0x423851
cmp r8d, 2
je 0x4233c0
jmp 0x4238b8
mov r11, r8
mov r9, r10
mov rdi, qword [rsp + 0x30]
mov r13, qword [rsp + 0x28]
jmp 0x423753
mov r11, r8
jmp 0x423753
mov dword [rdi + 0x30], 3
mov rax, rdi
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x68]
mov rsi, rdx
mov ebp, r8d
mov r8, rbx
call fcn.0044bd90
mov rax, qword [r13 + 0x38]
add rax, 0x10
movups xmm0, xmmword [rsp + 0x68]
movups xmm1, xmmword [rsp + 0x78]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov rcx, qword [rsp + 0x30]
mov qword [rdi + 0x20], rcx
mov rcx, qword [rsp + 0x28]
mov qword [rdi + 0x28], rcx
mov dword [rdi + 0x30], ebp
mov ecx, dword [rsp + 0x48]
mov dword [rdi + 0x3c], ecx
mov rcx, qword [rsp + 0x40]
mov qword [rdi + 0x34], rcx
mov rcx, qword [rsp + 0xd8]
mov qword [rdi + 0x40], rcx
mov qword [rdi + 0x48], rax
mov qword [rdi + 0x50], rsi
jmp 0x42383a
mov eax, dword [rsp + 0x48]
mov dword [rdi + 0x1c], eax
mov rax, qword [rsp + 0x40]
mov qword [rdi + 0x14], rax
mov rax, qword [rsp + 0x30]
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov qword [rdi + 8], rax
mov dword [rdi + 0x10], r8d
mov dword [rdi + 0x30], 4
jmp 0x42383a
movzx r8d, word [rax + 0xd]
movzx r9d, byte [rax + 0xf]
shl r9d, 0x10
or r9d, r8d
mov eax, dword [rax + 9]
shl r9, 0x28
shl rax, 8
or rax, r9
or rax, rcx
jmp 0x42392e
movzx eax, word [rcx + 5]
movzx r9d, byte [rcx + 7]
shl r9d, 0x10
or r9d, eax
shl r9, 0x20
mov eax, dword [rcx + 1]
or rax, r9
shl rax, 8
or rax, r8
mov qword [rdi], rax
mov qword [rdi + 8], rdx
mov dword [rdi + 0x30], 5
jmp 0x42383a
movzx eax, word [r9 + 5]
movzx r8d, byte [r9 + 7]
shl r8d, 0x10
or r8d, eax
mov eax, dword [r9 + 1]
shl r8, 0x28
shl rax, 8
or rax, r8
jmp 0x423908
lea r8, [0x004c4f20]
mov rdx, qword [rsp + 0x50]
call fcn.004adac0
ud2
lea r8, [0x004c4f38]
call fcn.004adac0
ud2
lea r8, [0x004c4f08]
mov rcx, r14
call fcn.004b9370
ud2