Function at 0x2020f910
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, 0xa8
mov qword [rsp + 0x78], rdx
mov rdi, rcx
call fcn.20211340
mov rcx, qword [0x203e1c58]
mov edx, dword [0x203e1c44]
mov ebx, 0x2c2f
sub ebx, eax
sub edx, ebx
movsxd rax, edx
add rax, rcx
call qword [case.0x200b73a7.0]
mov ebp, eax
mov esi, eax
mov rax, rsi
shl rax, 0x1b
xor rax, rsi
movabs r13, 0xff2374b3846e9654
mov qword [rsp + 0x80], rax
xor r13, rax
mov r14, qword [rdi + r13]
mov r15d, ebp
xor r15d, 0xb3ec546
mov rcx, qword [0x203e1c60]
mov eax, dword [0x203e1c48]
mov dword [rsp + 0x44], ebx
sub eax, ebx
cdqe
add rax, rcx
mov rcx, r14
mov edx, r15d
call qword [case.0x200b73a7.0]
movsxd r9, dword [rax + 0x3c]
mov eax, dword [r14 + r9]
mov dword [rsp + 0x24], ebp
xor ebp, 0x1b912cdc
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x40], ebp
cmp eax, ebp
jne 0x2020ff03
lea rax, [0x202f4cd0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0
mov rax, rsi
shl rax, 0x23
or rax, rsi
movabs rbx, 0xdc8b4c601b916990
mov qword [rsp + 0x90], rax
xor rbx, rax
mov qword [rsp + 0x38], rbx
mov rcx, qword [0x203e1c50]
mov eax, dword [0x203e1c40]
mov edx, dword [rsp + 0x44]
sub eax, edx
mov r12d, edx
cdqe
add rax, rcx
lea rdx, [rsp + 0x98]
mov qword [rsp + 0x50], r14
lea r8, [rsp + 0x28]
mov r14d, r15d
mov dword [rsp + 0x20], r15d
mov r15, qword [rsp + 0x78]
mov rcx, r15
mov qword [rsp + 0x48], r9
call qword [case.0x200b73a7.0]
mov rax, qword [rdi + 0x38]
mov rcx, qword [0x204018c0]
mov rdx, rcx
xor rdx, rax
and rcx, rax
mov rax, rsi
shl rax, 0x1f
xor rax, rsi
movabs r8, 0x2101b406d419dc2d
xor r8, rax
mov r10, rsi
shl r10, 0x1e
xor r10, rsi
movabs r9, 0xd5d2a55c2be623d2
xor r9, r10
mov rbp, r10
mov qword [rsp + 0x70], r10
movabs r10, 0x7e458c2535af042b
xor r10, rax
add r10, r8
mov r11, rsi
shl r11, 0x22
or r11, rsi
movabs r8, 0x6e45a6301b916990
mov qword [rsp + 0x58], r11
xor r8, r11
add r8, rdx
mov r11, rsi
shl r11, 0x24
or r11, rsi
movabs rdx, 0x35645fdcca50fbd4
mov qword [rsp + 0x60], r11
xor rdx, r11
add rdx, r9
add rdx, r10
add rdx, r8
lea rcx, [rdx + rcx*2]
add rcx, 2
mov qword [rdi + 0x38], rcx
lea rcx, [0x202f4cd0]
mov qword [rsp + 0x28], rcx
mov ecx, dword [rsp + 0x24]
xor ecx, 0x1b9169a8
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x34], ecx
movabs rcx, 0xdc8b4c61b916990
xor rcx, rax
mov qword [rsp + 0x38], rcx
mov rcx, qword [0x203e1c50]
mov eax, dword [0x203e1c40]
sub eax, r12d
cdqe
add rax, rcx
lea rdx, [rsp + 0x98]
lea r8, [rsp + 0x28]
mov rcx, r15
call qword [case.0x200b73a7.0]
add qword [rdi + 0x38], rbx
mov rcx, qword [rdi + r13]
mov rdx, qword [0x203e1c60]
mov eax, dword [0x203e1c48]
mov dword [0x203e1c34], 0x6de1f03a
sub eax, r12d
cdqe
add rax, rdx
mov edx, r14d
call qword [case.0x200b73a7.0]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
movzx ecx, word [rcx + rdx + 6]
movabs rdx, 0x6e45a631b9169a4
xor rdx, rbp
imul rdx, rcx
mov rbx, rsi
shl rbx, 0x1d
xor rbx, rsi
movabs r14, 0x3722d319b916884
xor r14, rbx
add r14, rdx
lea rcx, [0x202f4cd0]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x34], eax
mov qword [rsp + 0x38], r14
mov rcx, qword [0x203e1c50]
mov eax, dword [0x203e1c40]
sub eax, r12d
mov ebp, r12d
cdqe
add rax, rcx
lea rdx, [rsp + 0x98]
lea r8, [rsp + 0x28]
mov rcx, r15
call qword [case.0x200b73a7.0]
add qword [rdi + 0x38], r14
mov r12, qword [rdi + r13]
mov rcx, qword [0x203e1c60]
mov eax, dword [0x203e1c48]
sub eax, ebp
cdqe
add rax, rcx
mov rcx, r12
mov r14d, dword [rsp + 0x20]
mov edx, r14d
call qword [case.0x200b73a7.0]
movsxd r15, dword [rax + 0x3c]
mov qword [rsp + 0x88], r12
mov eax, dword [r12 + r15]
mov dword [rsp + 0x68], eax
mov r12, qword [rdi + r13]
mov rcx, qword [0x203e1c60]
mov eax, dword [0x203e1c48]
sub eax, ebp
cdqe
add rax, rcx
mov rcx, r12
mov edx, r14d
call qword [case.0x200b73a7.0]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
movzx ecx, word [rcx + rdx + 6]
test ecx, ecx
je 0x2020ff03
mov r13, qword [rsp + 0x88]
add r13, r15
xor ebp, ebp
mov r8d, dword [rsp + 0x40]
cmp dword [rsp + 0x68], r8d
cmovne r13, rbp
movsxd rax, dword [rax + 0x3c]
lea rdx, [r12 + rax]
cmp dword [r12 + rax], r8d
cmovne rdx, rbp
mov r14d, dword [rsp + 0x24]
mov r8d, r14d
xor r8d, 0x6b87
movabs rax, 0x6e45a6301b916884
mov r9, qword [rsp + 0x58]
xor r9, rax
movabs rax, 0xb91698c01b916974
mov r15, qword [rsp + 0x60]
xor rax, r15
cmp word [rdx + 0x18], r8w
cmove rax, r9
movabs rdx, 0x69dcd8f8cc0ff697
xor rbx, rdx
mov rdx, rsi
shl rdx, 0x21
or rdx, rsi
movabs r8, 0xa273d92eb3f00968
xor r8, rdx
add r8, rbx
mov r9, rsi
shl r9, 0x1c
xor r9, rsi
movabs r10, 0x3f20373f0adea012
xor r10, r9
movabs r11, 0xf6440d4035215fed
xor r11, rdx
movabs rdx, 0x85d4d778f37c76e0
xor rdx, r9
movabs r9, 0xc284a6dfcc83891f
xor r9, r15
mov ebx, r14d
xor ebx, 0xbb91698c
mov dword [rsp + 0x20], ebx
add r9, r11
xor r14d, 0x9b91698c
mov dword [rsp + 0x60], r14d
add r9, r8
mov r8, qword [rsp + 0x50]
add r9, r10
mov r10, qword [rsp + 0x70]
add rdx, r9
add rdx, 3
mov qword [rsp + 0x58], rdx
mov r9, qword [rsp + 0x48]
movabs r15, 0xd020e7bfec484851
mov r11, qword [rsp + 0x90]
xor r15, r11
movabs rdx, 0xf388df6c73b7b7ae
xor qword [rsp + 0x80], rdx
mov rdx, rsi
shl rdx, 0x20
or rdx, rsi
movabs rsi, 0x6a0137699f486abe
xor rsi, rdx
movabs r14, 0xd2e4ed7a60b79541
xor r14, r11
add r13, rax
add r13, 0x24
movabs rbx, 0xf77404869f486abe
jmp 0x2020fe3f
mov rax, qword [rdi + 0x40]
lea rcx, [r12 + r15]
add rcx, qword [rsp + 0x80]
add rax, rcx
inc rax
mov qword [rdi + 0x40], rax
mov rax, qword [rdi + 0x38]
mov rcx, r10
xor rcx, rax
xor rcx, rbx
and rax, rsi
add r12, r14
add r12, rcx
lea rax, [r12 + rax*2]
inc rax
mov qword [rdi + 0x38], rax
inc ebp
movzx ecx, word [r8 + r9 + 6]
add r13, 0x28
cmp ebp, ecx
jae 0x2020ff03
mov r12d, dword [r13 - 0x1c]
mov eax, dword [r13 - 0x14]
cmp eax, r12d
cmovb r12d, eax
cmp dword [r13 - 0x18], 0
je 0x2020fe73
mov eax, dword [r13]
mov edx, dword [rsp + 0x24]
xor edx, eax
xor edx, 0xe66e9673
test edx, eax
sete dl
test eax, eax
setne al
test al, dl
jne 0x2020fe7d
dec ecx
cmp ebp, ecx
je 0x2020fdf0
mov eax, dword [r13]
and eax, dword [rsp + 0x20]
cmp eax, dword [rsp + 0x60]
jne 0x2020fea0
mov rax, qword [rsp + 0x58]
add rax, r12
add qword [rdi + 0x40], rax
jmp 0x2020fe0a
mov eax, dword [r13 - 0x18]
mov ecx, dword [r13 - 0x10]
lea rdx, [0x202f4cd0]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x34], ecx
mov qword [rsp + 0x38], r12
mov rcx, qword [0x203e1c50]
mov eax, dword [0x203e1c40]
sub eax, dword [rsp + 0x44]
cdqe
add rax, rcx
mov rcx, qword [rsp + 0x78]
lea rdx, [rsp + 0x98]
lea r8, [rsp + 0x28]
call qword [case.0x200b73a7.0]
mov r10, qword [rsp + 0x70]
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
jmp 0x2020fe0a
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x6c], eax
sete al
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret