Function at 0x41a760
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, 0xa8
test rdx, rdx
mov rdi, rcx
mov rbx, rdx
mov r14d, r8d
je 0x49107a
mov rax, qword [0x005b92f0]
mov edx, dword [rdx]
mov rcx, qword [rax]
call fcn.0043a5d0
lea rcx, [rsp + 0x40]
mov r8d, 1
mov rbp, rax
mov edx, eax
mov rsi, rax
call fcn.00421b70
shr rbp, 0x20
mov r8d, 2
mov r12d, dword [rsp + 0x48]
lea rcx, [rsp + 0x60]
mov edx, ebp
call fcn.00421b70
mov edx, dword [rbx]
xor r8d, r8d
lea rcx, [rsp + 0x80]
mov r13d, dword [rsp + 0x68]
call fcn.00421b70
mov rax, qword [rdi + 0x18]
cmp qword [rsp + 0x40], rax
je 0x41a801
xor eax, eax
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp rax, qword [rsp + 0x60]
jne 0x41a7eb
movzx r15d, byte [rbx + 4]
mov r8d, dword [rsp + 0x88]
test r15b, r15b
jne 0x41a911
cmp r12d, r13d
mov r9d, dword [rsp + 0x8c]
mov r11d, r8d
jle 0x41a9e0
mov rax, qword [rdi + 0x78]
test rax, rax
je 0x41aa50
mov edx, dword [rax + 4]
test edx, edx
jne 0x41a7eb
test r14b, r14b
je 0x41a980
mov dword [rsp + 0x2c], r9d
mov r14d, r8d
mov ebp, r9d
mov esi, r8d
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x41a7eb
mov edx, dword [rax + 4]
test edx, edx
jle 0x41a7eb
lea rcx, [rax + 8]
sub edx, 1
lea rdx, [rax + rdx*8 + 0x10]
mov rax, rcx
cmp dword [rax], r12d
ja 0x41a9a0
cmp dword [rax + 4], r12d
jb 0x41a9a0
mov rax, rcx
cmp dword [rax], r13d
ja 0x41a9b2
cmp dword [rax + 4], r13d
jb 0x41a9b2
cmp byte [rbx + 4], 0
jne 0x41a960
mov rbx, qword [rdi + 0x78]
test rbx, rbx
je 0x41abef
mov eax, dword [rbx]
mov r12d, dword [rbx + 4]
and eax, 0x7fffffff
lea r13d, [r12 + 1]
cmp eax, r12d
mov edx, r13d
je 0x41aa72
imul r12, r12, 0x1c
mov edi, dword [rsp + 0x2c]
mov dword [rbx + 4], edx
lea rax, [rbx + r12 + 8]
mov dword [rax], r14d
mov dword [rax + 4], ebp
mov dword [rax + 8], esi
mov dword [rax + 0xc], edi
mov byte [rax + 0x10], r15b
mov dword [rax + 0x14], r8d
mov dword [rax + 0x18], r9d
mov eax, 1
jmp 0x41a7ed
cmp rax, qword [rsp + 0x80]
jne 0x41a7eb
mov rax, qword [rdi + 0x78]
test rax, rax
je 0x41a81e
mov ecx, dword [rax + 4]
test ecx, ecx
je 0x41a9c4
mov edx, dword [rdi + 0x14]
mov dword [rsp + 0x2c], r8d
mov ecx, dword [rbx]
call fcn.0041a390
test al, al
je 0x41a7eb
movzx r15d, byte [rbx + 4]
mov r8d, dword [rsp + 0x2c]
jmp 0x41a81e
cmp dword [rcx], r8d
ja 0x41a96f
cmp dword [rcx + 4], r8d
jae 0x41a8b6
add rcx, 8
cmp rcx, rdx
jne 0x41a960
jmp 0x41a7eb
mov rbx, rax
mov dword [rsp + 0x2c], r9d
mov r14d, r8d
mov ebp, r9d
mov esi, r8d
jmp 0x41a8c3
add rax, 8
cmp rax, rdx
jne 0x41a883
jmp 0x41a7eb
add rax, 8
cmp rax, rdx
jne 0x41a899
jmp 0x41a7eb
cmp r12d, r13d
mov r9d, dword [rsp + 0x8c]
mov r11d, r8d
jg 0x41a83f
nop dword [rax + rax]
mov eax, dword [rsp + 0x4c]
mov ecx, esi
mov dword [rsp + 0x38], r11d
mov edx, dword [rdi + 0x14]
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x2c], eax
call fcn.0041a390
mov r8d, dword [rsp + 0x30]
test al, al
mov r9d, dword [rsp + 0x34]
mov r11d, dword [rsp + 0x38]
je 0x41a832
mov edx, dword [rdi + 0x14]
mov ecx, ebp
call fcn.0041a390
mov r8d, dword [rsp + 0x30]
test al, al
mov r9d, dword [rsp + 0x34]
jne 0x41abcc
mov r11d, dword [rsp + 0x38]
jmp 0x41a832
mov eax, r9d
mov dword [rsp + 0x2c], r9d
mov esi, r8d
test r14b, r14b
mov ebp, r9d
mov r14d, r11d
mov r9d, eax
jne 0x41a85d
jmp 0x41a8b6
cmp byte [rbx + 3], 0
js 0x41ab00
mov ecx, r12d
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x30], r8d
call fcn.00414800
mov rcx, qword [rdi + 0x78]
mov edx, eax
mov r8d, dword [rsp + 0x30]
imul rdx, rdx, 0x1c
mov r9d, dword [rsp + 0x34]
add rdx, 8
test rcx, rcx
je 0x41abdf
mov r12d, dword [rcx + 4]
and eax, 0x7fffffff
mov r13d, eax
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x30], r8d
call fcn.00474480
mov r8d, dword [rsp + 0x30]
mov rbx, rax
mov qword [rdi + 0x78], rax
mov eax, dword [rax]
mov r9d, dword [rsp + 0x34]
mov dword [rbx + 4], r12d
and eax, 0x80000000
or eax, r13d
mov dword [rbx], eax
shr eax, 0x18
and eax, 0x7f
mov byte [rbx + 3], al
lea edx, [r12 + 1]
jmp 0x41a8df
cmp r13d, 4
mov r11d, 4
mov dword [rsp + 0x38], r9d
cmovae r11d, r13d
mov qword [rdi + 0x78], 0
xor ecx, ecx
mov dword [rsp + 0x34], r8d
mov edx, r11d
mov dword [rsp + 0x30], r11d
imul rdx, rdx, 0x1c
add rdx, 8
call fcn.00474480
mov r11d, dword [rsp + 0x30]
mov edx, dword [rax]
mov qword [rdi + 0x78], rax
mov r8d, dword [rsp + 0x34]
mov dword [rax + 4], 0
mov r9d, dword [rsp + 0x38]
and r11d, 0x7fffffff
and edx, 0x80000000
or r11d, edx
mov dword [rax], r11d
shr r11d, 0x18
and r11d, 0x7f
test r12d, r12d
mov byte [rax + 3], r11b
je 0x41abbd
lea r11d, [r12 - 1]
mov edx, 8
imul r11, r11, 0x1c
add r11, 0x24
nop dword [rax]
mov rcx, qword [rbx + rdx]
mov qword [rax + rdx], rcx
mov rcx, qword [rbx + rdx + 8]
mov qword [rax + rdx + 8], rcx
mov rcx, qword [rbx + rdx + 0x10]
mov qword [rax + rdx + 0x10], rcx
mov ecx, dword [rbx + rdx + 0x18]
mov dword [rax + rdx + 0x18], ecx
add rdx, 0x1c
cmp r11, rdx
jne 0x41ab90
mov dword [rax + 4], r12d
mov edx, r13d
mov rbx, rax
jmp 0x41a8df
mov eax, r9d
mov esi, r13d
mov r9d, dword [rsp + 0x3c]
mov r11d, r12d
jmp 0x41aa5b
and eax, 0x7fffffff
xor r12d, r12d
mov r13d, eax
jmp 0x41aabb
mov edx, 0x78
xor ecx, ecx
mov dword [rsp + 0x34], r9d
xor r12d, r12d
mov dword [rsp + 0x30], r8d
call fcn.00474480
mov r8d, dword [rsp + 0x30]
mov qword [rdi + 0x78], rax
mov rbx, rax
mov r9d, dword [rsp + 0x34]
mov qword [rax], 4
jmp 0x41aaf4