Function at 0x3985f0ab0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
mov eax, 0x1078
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.398604b70
sub rsp, rax
test rcx, rcx
mov rbx, rcx
mov rbp, rdx
mov edi, r8d
je 0x3985e85bf
test rdx, rdx
mov r13, qword [rcx]
je 0x3985e85d3
mov rcx, rdx
call sub.msvcrt.dll_strlen
test rax, rax
mov rsi, rax
je 0x3985e85d3
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x3985e8017
call sub.msvcrt.dll_free
mov qword [rbx + 0x80], 0
lea rcx, [rsi + 1]
mov edx, 1
call sub.msvcrt.dll_calloc
test rax, rax
mov r12, rax
je 0x3985e85ca
xor eax, eax
nop dword [rax + rax]
movzx edx, byte [rbp + rax]
test dl, dl
je 0x3985e8057
cmp dl, 0x5c
je 0x3985e8100
mov byte [r12 + rax], dl
add rax, 1
cmp rsi, rax
jne 0x3985e8038
mov eax, dword [rbx + 0x14]
mov qword [rbx + 0x80], r12
cmp eax, 1
jne 0x3985e8128
shl edi, 8
xor r8d, r8d
mov rdx, r12
lea r14, [rsp + 0x70]
mov r9d, edi
mov rcx, rbx
mov qword [rsp + 0x20], r14
call fcn.3985e7ad0
test eax, eax
je 0x3985e8320
movsxd rax, dword [rsp + 0x70]
test rax, rax
mov rdx, rax
mov qword [rbx + 0x78], rax
js 0x3985e8330
mov r8, qword [rbx + 0x68]
test r8, r8
je 0x3985e80c6
cmp eax, dword [rbx + 0x10]
jae 0x3985e8580
mov rcx, qword [r8 + 0x20]
mov eax, eax
mov eax, dword [rcx + rax*4]
add rax, qword [r8]
mov r8, rax
mov qword [rsp + 0x20], 0
mov r9, r14
mov rcx, rbx
call fcn.3985dfba0
test eax, eax
jne 0x3985e82b0
mov r14d, 0xfffffffd
mov r12, qword [rbx + 0x80]
test r12, r12
je 0x3985e8291
jmp 0x3985e827e
mov byte [r12 + rax], 0x2f
add rax, 1
cmp rsi, rax
jne 0x3985e8038
mov eax, dword [rbx + 0x14]
mov qword [rbx + 0x80], r12
cmp eax, 1
je 0x3985e806a
nop dword [rax]
mov ecx, dword [rbx + 0x10]
lea r15, [rbx + 0xa8]
pxor xmm0, xmm0
mov dword [rbx + 0x98], 0
mov edi, dword [rbx + 0x70]
movups xmmword [rbx + 0x88], xmm0
mov qword [rbx + 0xa8], 0
mov rbp, qword [rbx]
mov qword [rbx + 0x78], rcx
mov ecx, edi
and ecx, 0xf
mov qword [rbx + 0xa0], rbp
setne dl
mov qword [rbx + 0xc8], rbp
xor r9d, r9d
movzx edx, dl
mov qword [r15 + 0x10], 0
shl edx, 3
mov qword [r15 + 8], 0
mov qword [r15 + 0x16], 0
mov word [rbx + 0xd0], dx
mov rdx, qword [rbx + 0x20]
mov dword [rsp + 0x3c], ecx
mov dword [rbx + 0x4e068], 0
test rdx, rdx
je 0x3985e81bf
lea r9d, [rdx - 1]
mov ecx, r9d
and ecx, ebp
sub edx, ecx
and r9d, edx
cmp qword [rbx + 0x68], 0
je 0x3985e8278
cmp eax, 2
jne 0x3985e8278
test edi, 0x400
mov r14d, 0xfffffffb
jne 0x3985e827e
lea r14, [rsp + 0x70]
mov eax, 0x1000
mov dword [rsp + 0x40], r9d
cmp r9d, eax
mov rcx, r14
cmovbe eax, r9d
xor edx, edx
mov r8d, eax
call sub.msvcrt.dll_memset
mov r9d, dword [rsp + 0x40]
test r9d, r9d
mov r12d, r9d
je 0x3985e834c
mov qword [rsp + 0x48], rsi
mov rsi, rbx
mov rbx, rbp
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x44], r9d
jmp 0x3985e823c
add rbx, rdi
sub r12d, ebp
je 0x3985e833b
mov ebp, 0x1000
mov rcx, qword [rsi + 0x60]
mov r8, r14
mov rdx, rbx
cmp r12d, ebp
cmovbe ebp, r12d
mov edi, ebp
mov r9, rdi
call qword [rsi + 0x50]
cmp rdi, rax
je 0x3985e8230
mov rbx, rsi
mov dword [rsi + 0x1c], 0x13
mov r14d, 0xfffffff9
jmp 0x3985e80e8
mov r14d, 0xfffffffc
mov rcx, r12
call sub.msvcrt.dll_free
mov qword [rbx + 0x80], 0
mov eax, r14d
add rsp, 0x1078
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rsp + 0x90]
movdqu xmm0, xmmword [rsp + 0x98]
shufpd xmm0, xmm0, 1
movups xmmword [rbx + 0x88], xmm0
mov dword [rbx + 0x98], eax
mov rax, qword [rsp + 0x78]
mov qword [rbx + 0xa0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rbx + 0xc8], rax
movzx eax, word [rsp + 0x86]
mov word [rbx + 0xd0], ax
mov eax, dword [rsp + 0xac]
mov dword [rbx + 0x4e068], eax
mov rax, qword [rsp + 0x88]
mov qword [rbx + 0x4e070], rax
xor r14d, r14d
jmp 0x3985e8291
mov qword [rbx + 0x78], 0xffffffffffffffff
nop dword [rax + rax]
mov r14d, 0xfffffffd
jmp 0x3985e827e
mov rbx, rsi
mov edi, dword [rsp + 0x40]
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
mov ebp, r9d
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__time64]
mov rcx, r14
add r13, rbp
mov qword [rbx + 0x4e070], rax
mov qword [rsp + 0x70], rax
call qword [sym.imp.msvcrt.dll__localtime64]
mov rcx, rax
movzx eax, word [rax + 8]
movzx edx, word [rcx + 4]
movzx r10d, word [rcx + 0x10]
shl eax, 0xb
shl edx, 5
lea r8d, [r10 + 1]
add eax, edx
mov edx, dword [rcx]
shl r8d, 5
sar edx, 1
add eax, edx
movzx edx, word [rcx + 0x14]
sub edx, 0x50
shl edx, 9
add edx, r8d
add dx, word [rcx + 0xc]
mov ecx, 0xfffffffe
cmp rcx, r13
jb 0x3985e8588
mov r11d, 1
mov byte [rsp + 0x53], 0
xor r8d, r8d
mov ecx, 4
mov word [rsp + 0x50], r11w
mov r12d, 4
mov byte [rsp + 0x52], r8b
movzx r10d, ax
movzx r8d, word [rbx + 0xd0]
mov qword [rbx + 0xa9], 0
mov qword [rbx + 0xb1], 0
mov word [rbx + 0xb4], dx
mov rdx, qword [rbx + 0xa0]
mov dword [rbx + 0xa8], 0x4034b50
mov r11d, r8d
mov eax, r8d
movzx r8d, r8b
neg r11w
movzx eax, ah
mov qword [rbx + 0xb9], 0
mov qword [rbx + 0xbe], 0
sbb r9b, r9b
and r9d, 0x14
add rdx, rbp
mov byte [rbx + 0xc4], cl
mov rcx, qword [rbx + 0x60]
mov byte [rbx + 0xac], r9b
mov r9d, 0x808
mov word [rbx + 0xae], r9w
mov r9d, eax
mov eax, r10d
shl eax, 8
mov word [rbx + 0xc2], si
or eax, r9d
mov qword [rbx + 0xc8], rdx
mov r9d, 0x1e
shl eax, 8
or eax, r8d
mov r8, r15
mov dword [rbx + 0xb0], eax
call qword [rbx + 0x50]
cmp rax, 0x1e
jne 0x3985e8269
mov rax, qword [rbx + 0xa0]
mov r9, rsi
mov rcx, qword [rbx + 0x60]
mov r8, qword [rbx + 0x80]
lea rdx, [rbp + rax + 0x1e]
mov qword [rbx + 0xa0], rdx
call qword [rbx + 0x50]
cmp rax, rsi
jne 0x3985e85b4
add rsi, qword [rbx + 0xa0]
lea r8, [rsp + 0x50]
mov r9, r12
mov rcx, qword [rbx + 0x60]
mov rdx, rsi
mov qword [rbx + 0xa0], rsi
call qword [rbx + 0x50]
cmp r12, rax
jne 0x3985e85b4
movsxd rsi, dword [rsp + 0x3c]
add r12, qword [rbx + 0xa0]
test esi, esi
mov qword [rbx + 0xa0], r12
je 0x3985e8318
xor r9d, r9d
and edi, 0xc
mov eax, 0xa
mov qword [rbx + 0xd8], rbx
sete r9b
mov qword [rbx + 0xe0], r12
mov r14d, 0xfffffff7
lea rdx, [0x3986923a0]
shl r9d, 0xe
cmp esi, eax
mov qword [rbx + 0xe8], 0
cmovle rax, rsi
or r9d, dword [rdx + rax*4]
lea rcx, [rbx + 0xf0]
lea r8, [rbx + 0xd8]
lea rdx, [0x3985da790]
call fcn.3985e20f0
test eax, eax
je 0x3985e8318
jmp 0x3985e80e8
xor r8d, r8d
jmp 0x3985e80c6
mov r10d, 1
mov byte [rsp + 0x53], 0
mov ecx, 0xc
mov r8d, 8
mov word [rsp + 0x50], r10w
mov r12d, 0xc
mov qword [rsp + 0x54], r13
jmp 0x3985e83d3
mov r14d, 0xfffffff8
jmp 0x3985e80e8
mov r14d, 0xffffffff
jmp 0x3985e8291
xor esi, esi
mov qword [rbx + 0x80], rsi
mov r14d, 0xfffffffe
jmp 0x3985e8291
xor r8d, r8d
jmp 0x3985e7fb0