Function at 0x41f3e0
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, 0x138
mov r13, qword [rsp + 0x1b8]
mov qword [rsp + 0x198], r9
mov rdi, rcx
mov rbx, r8
movzx esi, dl
cmp dl, 0xb
ja case.0x41f423.0
lea rdx, [0x0047912c]
movsxd rax, dword [rdx + rsi*4]
add rax, rdx
jmp rax
mov eax, 0x1e
cmp rbx, rax
jg 0x41f586
movq xmm1, rsi
lea r12, [rsp + 0x20]
movq xmm0, qword [rsp + 0x1b0]
lea rdx, [rsp + 0x50]
mov rcx, r12
lea rbp, [0x004bc2c0]
mov qword [rsp + 0x90], 0
lea r14, [rsp + 0x30]
movhps xmm0, qword [rsp + 0x1a8]
mov qword [rsp + 0x98], 0
movups xmmword [rsp + 0x58], xmm0
movq xmm0, qword [rsp + 0x1a0]
mov qword [rsp + 0xa0], 0
movhps xmm0, qword [rsp + 0x198]
mov qword [rsp + 0x50], rbp
movups xmmword [rsp + 0x68], xmm0
movq xmm0, rbx
punpcklqdq xmm0, xmm1
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
movups xmmword [rsp + 0x78], xmm0
call fcn.0041f2c0
mov r8, qword [r13 + 0x18]
mov rdx, r14
mov rcx, r12
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
test r8, r8
je 0x41f7b8
call qword [r13 + 0x10]
lea rdx, [rsp + 0xc8]
xor eax, eax
mov ecx, 0xc
mov qword [rsp + 0xc0], rbp
mov rdi, rdx
lea r12, [rsp + 0xc0]
mov rdx, r13
rep stosq qword [rdi], rax
mov r8, r12
mov rcx, r14
call fcn.0041c630
mov rcx, qword [rsp + 0x1c0]
mov r8, rbp
mov rdx, r12
call fcn.00411410
nop
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 0x1f
cmp rbx, rax
jle 0x41f436
mov rcx, rdi
call fcn.004020f0
mov edx, 2
mov rcx, rsi
mov r15, rax
call fcn.00417970
mov rcx, rbx
mov rbp, rax
call fcn.004020f0
xor ecx, ecx
mov r14, rax
test r15, r15
je 0x41f5b6
mov rcx, qword [r15]
test rbp, rbp
je 0x41f5bf
add rcx, qword [rbp]
test r14, r14
je 0x41f5c7
add rcx, qword [r14]
add rcx, 0x53
call fcn.0040cc40
movabs rdx, 0x696e2e73656d6974
movabs rcx, 0x31202c303534286d
mov r12, rax
mov rax, qword [rax]
lea rax, [r12 + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x746e6f6d60202930
mov qword [rax + 8], rcx
movabs rcx, 0x203d3c2079616468
mov qword [rax + 0x10], rdx
movabs rdx, 0x4973796144746567
mov qword [rax + 0x18], rcx
movabs rcx, 0x6d2868746e6f4d6e
mov qword [rax + 0x20], rdx
movabs rdx, 0x6579202c68746e6f
mov qword [rax + 0x28], rcx
mov ecx, 0x20
mov qword [rax + 0x30], rdx
mov dword [rax + 0x38], 0x60297261
mov word [rax + 0x3c], cx
mov rcx, qword [r12]
lea rax, [rcx + 0x3d]
add rcx, 0x4d
mov qword [r12], rax
test r15, r15
je 0x41f683
mov rax, qword [r15]
add rcx, r12
lea rdx, [r15 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rcx, qword [r15]
add rcx, qword [r12]
mov qword [r12], rcx
add rcx, 0x10
mov edx, 0x2d
mov word [r12 + rcx], dx
mov rax, qword [r12]
lea rdx, [rax + 1]
lea rcx, [r12 + rax + 0x11]
mov qword [r12], rdx
test rbp, rbp
je 0x41f6c5
mov rax, qword [rbp]
lea rdx, [rbp + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add rax, qword [r12]
mov qword [r12], rax
lea rcx, [r12 + rax + 0x10]
mov eax, 0x2d
mov word [rcx], ax
mov rax, qword [r12]
lea rdx, [rax + 1]
lea rcx, [r12 + rax + 0x11]
mov qword [r12], rdx
test r14, r14
je 0x41f703
mov rax, qword [r14]
lea rdx, [r14 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r14]
add rax, qword [r12]
mov qword [r12], rax
lea rcx, [r12 + rax + 0x10]
movabs rax, 0x20746f6e20736920
mov dword [rcx + 0x10], 0x65746164
movabs rdx, 0x2064696c61762061
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov byte [rcx + 0x14], 0
mov rcx, r12
add qword [r12], 0x14
call fcn.00401e70
jmp 0x41f436
mov eax, 0x1c
test cl, 3
jne 0x41f42d
movabs rdx, 0x8f5c28f5c28f5c29
mov eax, 0x1d
movabs r8, 0x28f5c28f5c28f5c
imul rdx, rcx
movabs rcx, 0x51eb851eb851eb8
add rcx, rdx
ror rcx, 2
cmp rcx, r8
ja 0x41f42d
movabs rax, 0x51eb851eb851eb0
add rdx, rax
movabs rax, 0xa3d70a3d70a3d6
ror rdx, 4
cmp rdx, rax
setbe al
movzx eax, al
add rax, 0x1c
jmp 0x41f42d
call qword [r13 + 0x10]
jmp 0x41f517