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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rbx, rcx
mov rbp, rdx
xor ecx, ecx
mov edi, ecx
test rdx, rdx
je 0x14005992a
mov esi, dword [rdx + 0x18]
mov ecx, 0x200
call fcn.14008d360
mov r14, rax
test rax, rax
je 0x140059920
lea rcx, [rax + 4]
xor edx, edx
mov r8d, 0x1fc
call sub.VCRUNTIME140.dll_memset
mov dword [r14], esi
lea r15, [rbx + 0x60]
mov eax, dword [rbp + 0x18]
lea rdx, [rbx + 0x128]
mov r13, r15
mov rcx, qword [r15]
mov r12, rcx
mov dword [rbx + 0x20], eax
movzx eax, byte [rbx + 0x10]
mov byte [rbx + 0x17], al
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rcx
cmp qword [rdx], rdi
jne 0x140059a9b
mov rsi, qword [rbp + 8]
mov rax, qword [rbp]
test rsi, rsi
mov qword [r15], rax
cmove rsi, rcx
nop
cmp qword [r15], rsi
jge 0x140059aa2
mov r9d, 1
mov dword [rsp + 0x20], 1
mov r8, r14
mov rdx, r15
mov rcx, rbx
call fcn.14005aef0
mov edi, eax
test eax, eax
je 0x1400598f0
jmp 0x140059b66
mov eax, 7
jmp 0x140059d66
mov eax, dword [rbx + 0x24]
mov r14, rcx
mov dword [rbx + 0x20], eax
movzx eax, byte [rbx + 0x10]
mov byte [rbx + 0x17], al
lea rax, [rbx + 0x128]
mov rbp, qword [rax]
test rbp, rbp
je 0x140059a7f
mov eax, dword [rbx + 0x24]
mov esi, ecx
mov dword [rbx + 0x20], eax
cmp byte [rbp + 0x40], cl
je 0x1400599ed
mov r15d, dword [rbp + 0x58]
mov rax, qword [rbp + 0x30]
mov rcx, qword [rax]
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x48], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x58], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x68], xmm0
mov edi, dword [rbp + 0x58]
inc edi
lea r14d, [rdi + 0x1000]
nop dword [rax]
cmp edi, r15d
ja 0x1400599df
mov r8, qword [rbp + 0x30]
mov eax, r14d
sub rax, 0xfdf
shr rax, 0xc
test eax, eax
jne 0x1400599b6
mov rax, qword [r8]
mov edx, dword [rax + rdi*4 + 0x84]
jmp 0x1400599cc
cdqe
lea edx, [rdi - 1]
add rdx, 0x22
and edx, 0xfff
mov rcx, qword [r8 + rax*8]
mov edx, dword [rcx + rdx*4]
mov rcx, rbx
call fcn.140059ee0
inc edi
inc r14d
mov esi, eax
test eax, eax
je 0x140059990
cmp r15d, dword [rbp + 0x58]
je 0x1400599ed
mov rcx, rbp
call fcn.1400cb2c0
mov rcx, qword [rbx + 0x120]
call fcn.140091310
test rax, rax
je 0x140059a78
nop
test esi, esi
jne 0x140059a78
mov edx, dword [rax + 0x30]
mov rcx, rbx
mov rbp, qword [rax + 0x20]
call fcn.14008f020
mov rdi, rax
test rax, rax
je 0x140059a48
cmp qword [rax + 0x38], 1
mov rcx, rax
jne 0x140059a2c
call fcn.1400914e0
jmp 0x140059a48
call fcn.14005f580
mov esi, eax
test eax, eax
jne 0x140059a40
mov rcx, rdi
call qword [rbx + 0x108]
mov rcx, rdi
call fcn.1400906a0
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x140059a70
nop dword [rax]
nop word [rax + rax]
mov dword [rcx + 0x18], 1
mov rcx, qword [rcx + 0x40]
test rcx, rcx
jne 0x140059a60
mov rax, rbp
test rbp, rbp
jne 0x140059a00
mov eax, esi
jmp 0x140059d66
lea r15, [rbx + 0x60]
mov qword [rsp + 0x38], rax
mov rax, qword [r15]
mov r13, r15
mov qword [rsp + 0x30], rax
mov r12, rax
mov qword [r15], rcx
jmp 0x140059aa4
xor ecx, ecx
mov qword [r15], rcx
jmp 0x140059aa4
xor ecx, ecx
cmp qword [r15], r12
jge 0x140059b55
mov dword [rsp + 0xb0], ecx
lea rax, [rsp + 0xb8]
mov rcx, rbx
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xb0]
mov r8, r12
xor edx, edx
call fcn.14005f680
mov ebp, dword [rsp + 0xb0]
mov edi, eax
test ebp, ebp
jne 0x140059b17
mov eax, dword [rbx + 0xb8]
add rax, qword [rbx + 0x68]
mov rcx, qword [r15]
cmp rax, rcx
jne 0x140059b17
mov rax, qword [rsp + 0x30]
sub rax, rcx
mov rcx, qword [rbx + 0xc8]
add rcx, 8
cqo
idiv rcx
mov rbp, rax
mov dword [rsp + 0xb0], eax
xor esi, esi
test edi, edi
jne 0x140059b55
nop dword [rax]
cmp esi, ebp
jae 0x140059aa2
cmp qword [r15], r12
jge 0x140059aa2
mov r9d, 1
mov dword [rsp + 0x20], 1
mov r8, r14
mov rdx, r13
mov rcx, rbx
call fcn.14005aef0
inc esi
mov edi, eax
test eax, eax
je 0x140059b20
mov rbp, qword [rsp + 0xa8]
test rbp, rbp
je 0x140059cd9
mov rcx, qword [rbx + 0xc8]
mov eax, dword [rbp + 0x1c]
add rcx, 4
mov rsi, qword [rsp + 0x38]
imul rcx, rax
mov rsi, qword [rsi]
mov qword [rsp + 0x30], rcx
test rsi, rsi
je 0x140059caa
mov eax, dword [rsi + 0x88]
xor r13d, r13d
cmp dword [rbp + 0x30], eax
je 0x140059ba9
mov dword [rbp + 0x24], r13d
mov eax, dword [rsi + 0x88]
mov dword [rbp + 0x30], eax
mov ecx, dword [rbp + 0x24]
cmp ecx, dword [rsi + 0x58]
jae 0x140059ca2
mov dword [rsi + 0x58], ecx
mov eax, dword [rbp + 0x28]
mov dword [rsi + 0x60], eax
mov eax, dword [rbp + 0x2c]
mov dword [rsi + 0x64], eax
test ecx, ecx
je 0x140059ca2
lea edi, [rcx + 0x1000]
sub rdi, 0xfdf
shr rdi, 0xc
cmp dword [rsi + 0x28], edi
jle 0x140059bfc
mov rax, qword [rsi + 0x30]
movsxd rcx, edi
mov r8, qword [rax + rcx*8]
mov qword [rsp + 0x48], r8
test r8, r8
je 0x140059bfc
mov eax, r13d
jmp 0x140059c10
lea r8, [rsp + 0x48]
mov edx, edi
mov rcx, rsi
call fcn.1400cbd70
mov r8, qword [rsp + 0x48]
test r8, r8
je 0x140059ca2
lea rdx, [r8 + 0x4000]
mov qword [rsp + 0x40], rdx
test edi, edi
jne 0x140059c3f
add r8, 0x88
mov dword [rsp + 0x50], r13d
mov qword [rsp + 0x48], r8
mov edi, r13d
jmp 0x140059c49
shl edi, 0xc
sub edi, 0x22
mov dword [rsp + 0x50], edi
test eax, eax
jne 0x140059ca2
mov r10d, dword [rsi + 0x58]
mov r9d, 0x2000
sub r10d, edi
mov r8, rdx
nop dword [rax]
movzx eax, word [rdx]
cmp eax, r10d
jle 0x140059c6c
mov word [r8], r13w
add r8, 2
add rdx, 2
sub r9, 1
jne 0x140059c60
mov ecx, dword [rsp + 0x40]
lea eax, [r10*4]
sub ecx, eax
xor edx, edx
sub ecx, dword [rsp + 0x48]
mov rax, qword [rsp + 0x48]
movsxd r8, ecx
movsxd rcx, r10d
lea rcx, [rax + rcx*4]
call sub.VCRUNTIME140.dll_memset
mov esi, dword [rbp + 0x1c]
mov edi, r13d
jmp 0x140059cb1
mov esi, dword [rbp + 0x1c]
test edi, edi
jne 0x140059cd9
cmp esi, dword [rbx + 0x3c]
jae 0x140059cd9
xor r9d, r9d
mov dword [rsp + 0x20], 1
mov r8, r14
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14005aef0
inc esi
mov edi, eax
test eax, eax
je 0x140059cb1
test r14, r14
je 0x140059d5d
cmp dword [r14 + 8], 0
je 0x140059d02
lea rbx, [r14 + 0x10]
mov esi, 0x3e
nop
mov rcx, qword [rbx]
call fcn.14006cf80
lea rbx, [rbx + 8]
sub rsi, 1
jne 0x140059cf0
cmp dword [0x1400fe040], 0
je 0x140059d54
mov rcx, qword [0x1401017f0]
test rcx, rcx
je 0x140059d1d
call qword [0x1400fe0c0]
mov rcx, r14
call qword [0x1400fe078]
dec qword [0x140101778]
mov rcx, r14
movsxd rdx, eax
sub qword [0x140101730], rdx
call qword [0x1400fe068]
mov rcx, qword [0x1401017f0]
test rcx, rcx
je 0x140059d5d
call qword [0x1400fe0d0]
jmp 0x140059d5d
mov rcx, r14
call qword [0x1400fe068]
test edi, edi
jne 0x140059d64
mov qword [r15], r12
mov eax, edi
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret