Function at 0x419f90
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, 0x68
mov rdi, rdx
mov r13, rcx
mov rax, qword [rdx + 0x138]
mov qword [rcx + 0xb0], rax
mov qword [rdx + 0x138], 0
mov rax, qword [rcx]
mov qword [rsp + 0x38], rax
movzx r14d, word [rdx + 0x120]
movsxd rcx, dword [rdx + 0x34]
test rcx, rcx
setne al
mov qword [rsp + 0x60], rcx
mov edx, ecx
mov ecx, dword [rdi + 0x80]
mov ebx, dword [rdi + 0x38]
mov dword [rsp + 0x34], edx
add ebx, edx
mov dword [rsp + 0x30], ecx
test ebx, ebx
setle cl
or cl, al
xor cl, 1
movzx r12d, cl
mov eax, dword [r13 + 0x90]
shl eax, 3
lea eax, [rax + rax*2]
cdqe
mov rcx, qword [r13 + 0x88]
add rcx, rax
mov qword [rsp + 0x58], rcx
mov ecx, dword [rdi + 0x3c]
sub ecx, eax
mov esi, ecx
xor esi, 7
and esi, ecx
lea rdx, [rsp + 0x30]
mov rcx, r13
call fcn.0047e310
cmp byte [rdi + 0x20], 0
je 0x41a04d
xor ebp, ebp
cmp byte [rdi + 0x21], 0
setne bpl
shl ebp, 5
jmp 0x41a04f
xor ebp, ebp
movsx rax, r14w
mov qword [rsp + 0x50], rax
add r12d, ebx
movsxd rsi, esi
mov edx, dword [r13 + 0xc8]
mov eax, edx
not eax
or eax, 0x20
mov ecx, ebp
not ecx
mov ebx, eax
and ebx, 0xac6d91c7
and edx, 0x53926e18
or edx, ebx
or eax, ecx
and ecx, 0xac6d91c7
and ebp, 0xfffffff8
or ebp, ecx
xor ebp, edx
not eax
or eax, ebp
mov dword [r13 + 0xc8], eax
mov cl, byte [rdi + 0x123]
test cl, cl
mov word [rsp + 0x2e], r14w
je 0x41aa19
cmp r12d, 9
mov edx, 0xa
cmovle r12d, edx
shl cl, 2
and cl, 0xc
movzx ecx, cl
mov edx, eax
not edx
or edx, 8
mov ebp, ecx
not ebp
and edx, 0xccba06b9
and eax, 0x3345f942
or eax, edx
and ebp, 0xccba06b9
and ecx, 4
or ecx, ebp
xor ecx, eax
mov dword [r13 + 0xc8], ecx
cmp byte [rdi + 0x123], 2
mov r15, qword [r13]
movzx eax, word [r13 + 0xc0]
mov qword [rsp + 0x48], rsi
jne 0x41a365
test ax, ax
je 0x41a515
mov rdi, qword [r13 + 0x98]
test rdi, rdi
je 0x41a506
imul r14, rax, 0x70
add r14, rdi
mov rbp, qword [rdi + 0x18]
cmp qword [rbp + 0x300], 0
jne 0x41a16d
test rbp, rbp
jne 0x41a1ab
movabs rbx, 0x2a91ab7c20de2d51
not rbx
jmp 0x41a2ab
add rdi, 0x38
cmp rdi, r14
jae 0x41a506
cmp dword [rdi + 0x20], 0
je 0x41a160
mov rdx, qword [rdi + 0x28]
mov rcx, rbp
call fcn.00408130
jmp 0x41a160
mov rcx, rdi
call fcn.00449ce0
mov word [rdi + 0x14], 0
add rdi, 0x38
cmp rdi, r14
jae 0x41a506
mov eax, dword [rdi + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
jne 0x41a190
cmp dword [rdi + 0x20], 0
je 0x41a19e
mov rbx, qword [rdi + 0x28]
cmp qword [rbp + 0x300], 0
je 0x41a1e3
mov rcx, rbp
mov rdx, rbx
call fcn.004297f0
mov dword [rdi + 0x20], 0
jmp 0x41a198
cmp qword [rbp + 0x1f0], rbx
jbe 0x41a1fe
cmp qword [rbp + 0x1e0], rbx
jbe 0x41a255
cmp qword [rbp + 0x1e8], rbx
jbe 0x41a279
test rbx, rbx
je 0x41a1da
cmp dword [0x005f6010], 0
je 0x41a26b
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x41a21e
call qword [0x005f6090]
mov rcx, rbx
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rbx
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x41a1da
call qword [0x005f60a0]
jmp 0x41a1da
mov rax, qword [rbp + 0x1d8]
mov qword [rbx], rax
mov qword [rbp + 0x1d8], rbx
jmp 0x41a1da
mov rcx, rbx
call qword [0x005f6038]
jmp 0x41a1da
mov rax, qword [rbp + 0x1c8]
mov qword [rbx], rax
mov qword [rbp + 0x1c8], rbx
jmp 0x41a1da
mov rcx, rdi
call fcn.00449ce0
mov word [rdi + 0x14], 0
add rdi, 0x38
cmp rdi, r14
jae 0x41a506
mov eax, dword [rdi + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
jne 0x41a290
cmp dword [rdi + 0x20], 0
je 0x41a29e
mov rbp, qword [rdi + 0x28]
test rbp, rbp
je 0x41a359
cmp dword [0x005f6010], 0
je 0x41a350
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x41a2e9
call qword [0x005f6090]
mov rcx, rbp
call qword [0x005f6048]
mov rcx, qword [0x0213b040]
cdqe
movabs rdx, 0xc30cbabfdfbdfa8c
sub rcx, rdx
sub rcx, rax
add rcx, rdx
mov qword [0x0213b040], rcx
mov rax, qword [0x0213b088]
movabs rcx, 0x2a91ab7c20de2d51
add rax, rcx
add rax, rbx
mov qword [0x0213b088], rax
mov rcx, rbp
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x41a359
call qword [0x005f60a0]
jmp 0x41a359
mov rcx, rbp
call qword [0x005f6038]
mov dword [rdi + 0x20], 0
jmp 0x41a298
test ax, ax
je 0x41a770
mov rdi, qword [r13 + 0x98]
test rdi, rdi
je 0x41a761
imul rbx, rax, 0x70
add rbx, rdi
mov rbp, qword [rdi + 0x18]
cmp qword [rbp + 0x300], 0
jne 0x41a3bd
test rbp, rbp
je 0x41a697
movabs rax, 0x71f9704cd8226d89
not rax
mov qword [rsp + 0x40], rax
jmp 0x41a3fb
add rdi, 0x38
cmp rdi, rbx
jae 0x41a761
cmp dword [rdi + 0x20], 0
je 0x41a3b0
mov rdx, qword [rdi + 0x28]
mov rcx, rbp
call fcn.00408130
jmp 0x41a3b0
mov rcx, rdi
call fcn.00449ce0
mov word [rdi + 0x14], 0
add rdi, 0x38
cmp rdi, rbx
jae 0x41a761
mov eax, dword [rdi + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
jne 0x41a3e0
cmp dword [rdi + 0x20], 0
je 0x41a3ee
mov r14, qword [rdi + 0x28]
cmp qword [rbp + 0x300], 0
je 0x41a433
mov rcx, rbp
mov rdx, r14
call fcn.004297f0
mov dword [rdi + 0x20], 0
jmp 0x41a3e8
cmp qword [rbp + 0x1f0], r14
jbe 0x41a456
cmp qword [rbp + 0x1e0], r14
jbe 0x41a4cc
cmp qword [rbp + 0x1e8], r14
jbe 0x41a4f0
test r14, r14
je 0x41a42a
cmp dword [0x005f6010], 0
je 0x41a4e2
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x41a476
call qword [0x005f6090]
mov rcx, r14
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
mov rax, qword [0x0213b088]
add rax, qword [rsp + 0x40]
movabs rcx, 0x71f9704cd8226d89
add rax, rcx
mov qword [0x0213b088], rax
mov rcx, r14
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x41a42a
call qword [0x005f60a0]
jmp 0x41a42a
mov rax, qword [rbp + 0x1d8]
mov qword [r14], rax
mov qword [rbp + 0x1d8], r14
jmp 0x41a42a
mov rcx, r14
call qword [0x005f6038]
jmp 0x41a42a
mov rax, qword [rbp + 0x1c8]
mov qword [r14], rax
mov qword [rbp + 0x1c8], r14
jmp 0x41a42a
mov rdx, qword [r13 + 0x98]
mov rcx, r15
call fcn.00408130
mov word [r13 + 0xc0], 4
movzx eax, word [r15 + 0x1a4]
cmp eax, 0x1bf
ja 0x41a55a
cmp dword [r15 + 0x1a0], 0
je 0x41a57a
cmp byte [r15 + 0x67], 0
je 0x41a5ac
mov qword [r13 + 0x98], 0
mov r14d, 0xc
mov ebx, 8
jmp 0x41a9b5
mov rax, qword [r15 + 0x1c8]
test rax, rax
je 0x41a584
mov rcx, qword [rax]
mov qword [r15 + 0x1c8], rcx
add dword [r15 + 0x1b0], 1
jmp 0x41a5b9
add dword [r15 + 0x1b4], 1
jmp 0x41a5ac
mov rax, qword [r15 + 0x1c0]
test rax, rax
je 0x41a5a4
mov rcx, qword [rax]
mov qword [r15 + 0x1c0], rcx
add dword [r15 + 0x1b0], 1
jmp 0x41a5b9
add dword [r15 + 0x1b8], 1
mov edx, 0x1c0
mov rcx, r15
call fcn.004299f0
mov qword [r13 + 0x98], rax
mov r14d, 0xc
mov ebx, 8
test rax, rax
je 0x41a9b5
mov word [rax + 0x14], 1
mov qword [rax + 0x18], r15
mov dword [rax + 0x20], 0
mov word [rax + 0x4c], 1
mov qword [rax + 0x50], r15
mov dword [rax + 0x58], 0
mov word [rax + 0x84], 1
mov qword [rax + 0x88], r15
mov dword [rax + 0x90], 0
mov word [rax + 0xbc], 1
mov qword [rax + 0xc0], r15
mov dword [rax + 0xc8], 0
mov word [rax + 0xf4], 1
mov qword [rax + 0xf8], r15
mov dword [rax + 0x100], 0
mov word [rax + 0x12c], 1
mov qword [rax + 0x130], r15
mov dword [rax + 0x138], 0
mov word [rax + 0x164], 1
mov qword [rax + 0x168], r15
mov dword [rax + 0x170], 0
mov word [rax + 0x19c], 1
mov qword [rax + 0x1a0], r15
mov dword [rax + 0x1a8], 0
jmp 0x41a9b5
movabs r14, 0xfe8684b229d22333
jmp 0x41a6cb
mov rcx, rdi
call fcn.00449ce0
mov word [rdi + 0x14], 0
add rdi, 0x38
cmp rdi, rbx
jae 0x41a761
mov eax, dword [rdi + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
jne 0x41a6b0
cmp dword [rdi + 0x20], 0
je 0x41a6be
mov rbp, qword [rdi + 0x28]
test rbp, rbp
je 0x41a755
cmp dword [0x005f6010], 0
je 0x41a74c
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x41a705
call qword [0x005f6090]
mov rcx, rbp
call qword [0x005f6048]
mov rcx, qword [0x0213b040]
cdqe
sub rcx, r14
sub rcx, rax
add rcx, r14
mov qword [0x0213b040], rcx
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rbp
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x41a755
call qword [0x005f60a0]
jmp 0x41a755
mov rcx, rbp
call qword [0x005f6038]
mov dword [rdi + 0x20], 0
jmp 0x41a6b8
mov rdx, qword [r13 + 0x98]
mov rcx, r15
call fcn.00408130
mov word [r13 + 0xc0], 8
movzx eax, word [r15 + 0x1a4]
cmp eax, 0x37f
ja 0x41a7b0
cmp dword [r15 + 0x1a0], 0
je 0x41a7d0
cmp byte [r15 + 0x67], 0
je 0x41a802
mov qword [r13 + 0x98], 0
mov r14d, 8
jmp 0x41a9b3
mov rax, qword [r15 + 0x1c8]
test rax, rax
je 0x41a7da
mov rcx, qword [rax]
mov qword [r15 + 0x1c8], rcx
add dword [r15 + 0x1b0], 1
jmp 0x41a80f
add dword [r15 + 0x1b4], 1
jmp 0x41a802
mov rax, qword [r15 + 0x1c0]
test rax, rax
je 0x41a7fa
mov rcx, qword [rax]
mov qword [r15 + 0x1c0], rcx
add dword [r15 + 0x1b0], 1
jmp 0x41a80f
add dword [r15 + 0x1b8], 1
mov edx, 0x380
mov rcx, r15
call fcn.004299f0
mov qword [r13 + 0x98], rax
mov r14d, 8
test rax, rax
je 0x41a9b3
mov word [rax + 0x14], 1
mov qword [rax + 0x18], r15
mov dword [rax + 0x20], 0
mov word [rax + 0x4c], 1
mov qword [rax + 0x50], r15
mov dword [rax + 0x58], 0
mov word [rax + 0x84], 1
mov qword [rax + 0x88], r15
mov dword [rax + 0x90], 0
mov word [rax + 0xbc], 1
mov qword [rax + 0xc0], r15
mov dword [rax + 0xc8], 0
mov word [rax + 0xf4], 1
mov qword [rax + 0xf8], r15
mov dword [rax + 0x100], 0
mov word [rax + 0x12c], 1
mov qword [rax + 0x130], r15
mov dword [rax + 0x138], 0
mov word [rax + 0x164], 1
mov qword [rax + 0x168], r15
mov dword [rax + 0x170], 0
mov word [rax + 0x19c], 1
mov qword [rax + 0x1a0], r15
mov dword [rax + 0x1a8], 0
mov word [rax + 0x1d4], 1
mov qword [rax + 0x1d8], r15
mov dword [rax + 0x1e0], 0
mov word [rax + 0x20c], 1
mov qword [rax + 0x210], r15
mov dword [rax + 0x218], 0
mov word [rax + 0x244], 1
mov qword [rax + 0x248], r15
mov dword [rax + 0x250], 0
mov word [rax + 0x27c], 1
mov qword [rax + 0x280], r15
mov dword [rax + 0x288], 0
mov word [rax + 0x2b4], 1
mov qword [rax + 0x2b8], r15
mov dword [rax + 0x2c0], 0
mov word [rax + 0x2ec], 1
mov qword [rax + 0x2f0], r15
mov dword [rax + 0x2f8], 0
mov word [rax + 0x324], 1
mov qword [rax + 0x328], r15
mov dword [rax + 0x330], 0
mov word [rax + 0x35c], 1
mov qword [rax + 0x360], r15
mov dword [rax + 0x368], 0
xor ebx, ebx
sub r14, rbx
lea rax, [0x005fe1d0]
lea rbp, [rax + rbx*8]
xor esi, esi
xor edi, edi
jmp 0x41a9e1
add rbx, 1
add rdi, 1
add rsi, 0x38
cmp r14, rdi
je 0x41aa14
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
jne 0x41a9d0
mov rdx, qword [rbp + rdi*8]
mov rcx, qword [r13 + 0x98]
add rcx, rsi
mov qword [rsp + 0x20], 0
mov r8, 0xffffffffffffffff
mov r9b, 1
call fcn.00414070
jmp 0x41a9d0
mov rsi, qword [rsp + 0x48]
movsxd rax, r12d
imul r10, rax, 0x38
movabs rax, 0x24b8a65b332a7713
lea rdx, [rsi + rax]
sub rdx, r10
sub rdx, rax
mov rcx, qword [rsp + 0x58]
lea rbp, [rcx + rdx]
xor r8d, r8d
cmp r10, rsi
mov r9d, 0
cmovg r9, r10
cmovg rdx, rsi
cmovg rbp, r8
imul rdi, qword [rsp + 0x50], 0x38
mov rbx, rdx
sub rbx, rdi
add rbx, rcx
mov rax, rdx
sub rax, rdi
mov r15d, 0
cmovl r15, rdi
cmovl rax, rdx
cmovl rbx, r8
mov qword [r13 + 0x68], rbp
and byte [r13 + 0xc8], 0xfc
mov qword [r13 + 0x80], rbx
movsxd r14, dword [rsp + 0x30]
shl r14, 3
mov rdx, rax
sub rdx, r14
add rdx, rcx
mov rbx, rax
sub rbx, r14
mov ebp, 0
cmovl rbp, r14
cmovl rbx, rax
cmovl rdx, r8
mov rsi, qword [rsp + 0x60]
shl rsi, 3
mov rax, rbx
sub rax, rsi
add rax, rcx
cmp rbx, rsi
mov qword [r13 + 0x70], rdx
mov edx, 0
cmovl rdx, rsi
cmovl rax, r8
add r15, r9
add r15, rbp
mov qword [r13 + 0x78], rax
add r15, rdx
je 0x41ab5b
mov rbp, r10
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
mov rdx, r15
call fcn.00429840
mov qword [r13 + 0x100], rax
cmp byte [rbx + 0x67], 0
jne 0x41ab6a
mov rcx, qword [r13 + 0x68]
test rcx, rcx
je 0x41ab7e
mov qword [r13 + 0x68], rcx
mov rcx, qword [r13 + 0x80]
test rcx, rcx
je 0x41abe0
mov qword [r13 + 0x80], rcx
mov rcx, qword [r13 + 0x70]
test rcx, rcx
je 0x41ac28
mov qword [r13 + 0x70], rcx
mov rcx, qword [r13 + 0x78]
test rcx, rcx
jne 0x41ac5c
cmp r15, rsi
jge 0x41ab97
xor ecx, ecx
jmp 0x41ac5c
mov rbx, qword [rsp + 0x38]
cmp byte [rbx + 0x67], 0
je 0x41ac60
mov word [r13 + 0x20], 0
mov qword [r13 + 0x24], 0
jmp 0x41acfe
cmp r15, rbp
jge 0x41abb5
xor ecx, ecx
mov qword [r13 + 0x68], rcx
mov rcx, qword [r13 + 0x80]
test rcx, rcx
jne 0x41ab2a
jmp 0x41abe0
movabs rcx, 0x373cd5633e8f9234
add r15, rcx
sub r15, rsi
sub r15, rcx
add rax, r15
mov rcx, rax
jmp 0x41ac5c
movabs rcx, 0xd2b95fc78f8191be
add r15, rcx
sub r15, rbp
sub r15, rcx
lea rcx, [rax + r15]
mov qword [r13 + 0x68], rcx
mov rcx, qword [r13 + 0x80]
test rcx, rcx
jne 0x41ab2a
cmp r15, rdi
jge 0x41abfd
xor ecx, ecx
mov qword [r13 + 0x80], rcx
mov rcx, qword [r13 + 0x70]
test rcx, rcx
jne 0x41ab3e
jmp 0x41ac28
movabs rcx, 0x1915d2ec4f8bc3af
sub r15, rcx
sub r15, rdi
add r15, rcx
lea rcx, [rax + r15]
mov qword [r13 + 0x80], rcx
mov rcx, qword [r13 + 0x70]
test rcx, rcx
jne 0x41ab3e
mov rdx, r15
sub rdx, r14
jge 0x41ac44
xor ecx, ecx
mov qword [r13 + 0x70], rcx
mov rcx, qword [r13 + 0x78]
test rcx, rcx
jne 0x41ac5c
jmp 0x41ab4f
lea rcx, [rax + rdx]
mov r15, rdx
mov qword [r13 + 0x70], rcx
mov rcx, qword [r13 + 0x78]
test rcx, rcx
je 0x41ab4f
mov qword [r13 + 0x78], rcx
mov eax, dword [rsp + 0x34]
mov dword [r13 + 0x28], eax
movzx eax, word [rsp + 0x2e]
mov word [r13 + 0x20], ax
test ax, ax
jle 0x41acaf
cwde
mov rcx, qword [r13 + 0x80]
lea edx, [rax + 1]
add rcx, 0x20
nop word [rax + rax]
mov word [rcx - 0xc], 1
mov qword [rcx - 8], rbx
mov dword [rcx], 0
add eax, 0xffffffff
add edx, 0xffffffff
add rcx, 0x38
cmp edx, 1
jg 0x41ac90
mov dword [r13 + 0x24], r12d
test r12d, r12d
jle 0x41acf0
mov rax, qword [r13 + 0x68]
lea ecx, [r12 + 1]
add rax, 0x20
nop dword [rax]
mov word [rax - 0xc], 0
mov qword [rax - 8], rbx
mov dword [rax], 0
add r12d, 0xffffffff
add ecx, 0xffffffff
add rax, 0x38
cmp ecx, 1
jg 0x41acd0
mov rcx, qword [r13 + 0x78]
xor edx, edx
mov r8, rsi
call fcn.005f4c10
mov byte [r13 + 0xc5], 1
mov dword [r13 + 0x34], 0
mov word [r13 + 0xc2], 0xff02
mov qword [r13 + 0x38], 0
movabs rax, 0xffffffff00000001
mov qword [r13 + 0x2c], rax
mov dword [r13 + 0x40], 0
mov qword [r13 + 0x50], 0
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret