Function at 0x14005f859
Capabilities:
Load assembly via iassembly
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, 0xf78
movaps xmmword [rsp + 0xf60], xmm7
movaps xmmword [rsp + 0xf50], xmm6
mov r13, r8
mov r14, rdx
mov qword [rsp + 0x140], rcx
mov rdx, qword [rdx + 0x3f0]
lock add eax, dword [rax]
add byte [rax - 0x7d], cl
ret 0x4810
lea ebx, [rsp + 0x200]
mov rcx, rbx
call fcn.14001867c
cmp qword [rbx], 0
jne 0x140066479
mov rsi, qword [rsp + 0x208]
mov dl, byte [rsp + 0x210]
cmp dword [rsi + 0x88], 0
mov qword [rsp + 0x90], r13
je 0x14005f9cd
invalid
mov byte [rsp + 0x78], dl
lea rdi, [rsi + 0x1a8]
lea rax, [rsi + 0x160]
mov qword [rsp + 0x1e0], rax
lea rbp, [rsi + 0x88]
call fcn.14008a73f
mov r15, rax
mov r12d, edx
mov r13, qword [rsi + 0x20]
mov eax, dword [rsi + 0x28]
mov dword [rsp + 0x40], eax
mov eax, 1
lea rbx, [rsp + 0x3f0]
test eax, eax
je 0x14005f9b9
mov rax, qword [rsi + 0x8c]
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x200], rdi
add al, byte [rax]
add byte [rax - 0x73], cl
mov word [rax + rax], fs
add al, byte [rax]
add al, ch
sahf
xchg esp, eax
sti
inc dword [rbx + rcx*4 + 0x48]
cmp r9d, 0x3b9aca00
je 0x140066479
mov r8, qword [rax + 0x40]
mov rcx, r15
mov edx, r12d
call fcn.14008dfe8
xor ecx, ecx
cmp rax, r13
setne cl
mov eax, 0xff
cmovb ecx, eax
test cl, cl
jne 0x14005f980
cmp edx, dword [rsp + 0x40]
setne cl
jb 0x14005f9b9
cmp cl, 1
jne 0x14005f9b9
mov rcx, rbx
mov rdx, rbp
mov r8, rdi
call fcn.140020805
cmp qword [rsp + 0x3f0], 0
je 0x14005f9b9
mov rcx, qword [rsp + 0x1e0]
mov rdx, rbx
mov r8b, 1
call fcn.140019021
mov eax, dword [rbp]
jmp 0x14005f917
mov r13, qword [rsp + 0x90]
lea rbx, [rsp + 0x200]
mov dl, byte [rsp + 0x78]
mov rcx, rsi
call fcn.140041e0b
mov eax, 0x118
add rax, rbx
mov qword [rsp + 0x7b8], rax
mov eax, 0x111
lea rcx, [rsp + 0x3f0]
lea rdx, [rcx + rax]
mov qword [rsp + 0x7a8], rdx
mov edx, 0x115
add rcx, rdx
mov qword [rsp + 0x7a0], rcx
lea rcx, [rsp + 0x800]
and al, 0
or byte [rax], al
add byte [rbp + rcx*4 + 4], cl
add dword [rcx + rcx*4 - 0x7c], ecx
and al, 0x68
or al, byte [rax]
add byte [rax + 1], cl
ror dword [rax - 0x77], 1
mov word [rax + riz*2], fs
or al, byte [rax]
add byte [rax - 0x73], cl
mov word [rax + riz*4], fs
or eax, dword [rax]
add byte [rax + 1], cl
enter 0xffffffffffff8948, 0xffffffffffffff84
and al, 0x78
or al, byte [rax]
add byte [rax + 1], cl
retf 0x8948
mov dword [rsp + 0xa70], edx
xorps xmm6, xmm6
lea rax, [r14 + 0x390]
mov qword [rsp + 0x3e0], rax
lea rax, [r14 + 0x368]
mov qword [rsp + 0x3e8], rax
lea rax, [r14 + 0x400]
mov qword [rsp + 0xa58], rax
lea rdi, [r14 + 0x48]
lea rbp, [rsp + 0x208]
lea rax, [r14 + 0x380]
mov qword [rsp + 0xa98], rax
add byte [rcx - 0x73], cl
push rax
mov qword [rsp + 0xa50], rax
lea rax, [r14 + 0x58]
mov qword [rsp + 0x798], rax
lea rax, [r14 + 0x42c]
mov qword [rsp + 0xa48], rax
lea rax, [r14 + 0x1b8]
mov qword [rsp + 0x558], rax
lea rax, [r14 + 0x220]
mov qword [rsp + 0x350], rax
lea r12, [r14 + 0x190]
lea rax, [r14 + 0x228]
mov qword [rsp + 0x560], rax
lea rax, [r14 + 0x340]
mov qword [rsp + 0x7b0], rax
lea rax, [r14 + 0x4a1]
mov qword [rsp + 0xa90], rax
mov dword [rsp + 0x3ac], eax
mov dword [rsp + 0x3a8], eax
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rax
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
mov dword [rsp + 0x88], eax
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x3d8], rax
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0x78], r12