Function at 0x1400cf660
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push r12
push r14
push r15
lea rbp, [rsp - 0x5a8]
sub rsp, 0x6a8
mov rax, qword [0x1401c6138]
xor rax, rsp
mov qword [rbp + 0x580], rax
mov dword [rsp + 0x30], edx
mov r15, r8
mov qword [rsp + 0x38], rcx
mov r14d, edx
mov r12, rcx
test rcx, rcx
je 0x1400cf6c2
xor ecx, ecx
mov r8d, ecx
test edx, edx
je 0x1400cf6c2
mov rax, r12
nop dword [rax + rax]
cmp qword [rax], 0xffffffffffffffff
jne 0x1400cf6cf
inc r8d
add rax, 0x10
cmp r8d, r14d
jb 0x1400cf6b0
mov rcx, r15
call fcn.1400cfe80
jmp 0x1400cf889
mov qword [rsp + 0x6d8], rbx
mov r9d, ecx
mov qword [rsp + 0x6a0], rsi
mov r10d, ecx
mov qword [rsp + 0x698], rdi
mov r8d, ecx
mov rdi, 0xffffffffffffffff
mov qword [rsp + 0x690], r13
mov r13, rdi
mov dword [rsp + 0x50], ecx
mov dword [rbp + 0x160], ecx
mov esi, ecx
mov dword [rbp + 0x370], ecx
mov rbx, r12
mov eax, 0x710
nop dword [rax]
mov rdx, qword [rbx]
mov word [rbx + 0xa], cx
cmp rdx, rdi
je 0x1400cf830
jae 0x1400cf85d
movzx r11d, word [rbx + 8]
test ax, r11w
je 0x1400cf830
cmp rdx, r13
mov rax, rdx
cmovbe rax, r13
mov r13, rax
mov eax, 0x300
test ax, r11w
je 0x1400cf793
test r9d, r9d
je 0x1400cf772
mov eax, ecx
cmp qword [rsp + rax*8 + 0x58], rdx
je 0x1400cf772
inc ecx
cmp ecx, r9d
jb 0x1400cf762
cmp ecx, r9d
jne 0x1400cf791
cmp r9d, 0x40
jae 0x1400cf791
mov eax, ecx
mov qword [rsp + rax*8 + 0x58], rdx
mov r9d, dword [rsp + 0x50]
inc r9d
mov dword [rsp + 0x50], r9d
xor ecx, ecx
test r11b, 0x10
je 0x1400cf7d9
test r10d, r10d
je 0x1400cf7b3
nop
mov eax, ecx
cmp qword [rbp + rax*8 + 0x168], rdx
je 0x1400cf7b3
inc ecx
cmp ecx, r10d
jb 0x1400cf7a0
cmp ecx, r10d
jne 0x1400cf7d9
cmp r10d, 0x40
jae 0x1400cf7d9
mov eax, ecx
mov qword [rbp + rax*8 + 0x168], rdx
mov r10d, dword [rbp + 0x160]
inc r10d
mov dword [rbp + 0x160], r10d
mov eax, 0x600
test ax, r11w
je 0x1400cf829
xor eax, eax
mov ecx, eax
test r8d, r8d
je 0x1400cf803
nop dword [rax]
mov eax, ecx
cmp qword [rbp + rax*8 + 0x378], rdx
je 0x1400cf803
inc ecx
cmp ecx, r8d
jb 0x1400cf7f0
cmp ecx, r8d
jne 0x1400cf829
cmp r8d, 0x40
jae 0x1400cf829
mov eax, ecx
mov qword [rbp + rax*8 + 0x378], rdx
mov r8d, dword [rbp + 0x370]
inc r8d
mov dword [rbp + 0x370], r8d
mov eax, 0x710
xor ecx, ecx
inc esi
add rbx, 0x10
cmp esi, r14d
jb 0x1400cf720
test r9d, r9d
jne 0x1400cf8a7
test r10d, r10d
jne 0x1400cf8a7
test r8d, r8d
jne 0x1400cf8a7
mov rcx, r15
call fcn.1400cfe80
mov esi, eax
jmp 0x1400cf9a0
mov ecx, 0x2726
call fcn.1400d0220
mov eax, edi
mov rdi, qword [rsp + 0x698]
mov rsi, qword [rsp + 0x6a0]
mov rbx, qword [rsp + 0x6d8]
mov r13, qword [rsp + 0x690]
mov rcx, qword [rbp + 0x580]
xor rcx, rsp
call fcn.140118e10
add rsp, 0x6a8
pop r15
pop r14
pop r12
pop rbp
ret
mov rdx, r15
lea rcx, [rsp + 0x40]
call fcn.140106520
cmp dword [rbp + 0x370], 0
lea rsi, [rbp + 0x370]
mov r12, rax
lea r14, [rbp + 0x160]
mov eax, 0
lea r15, [rsp + 0x50]
cmove rsi, rax
cmp dword [rbp + 0x160], eax
cmove r14, rax
cmp dword [rsp + 0x50], eax
lea ecx, [rax + 0xb]
cmove r15, rax
call fcn.14012a720
mov rcx, rax
mov rbx, rax
mov dword [rax + 2], 0x32335f32
mov dword [rax + 7], 0x6c6c64
mov word [rax], 0x7357
mov byte [rax + 6], 0x2e
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
test rax, rax
jne 0x1400cf92a
mov rcx, rbx
call fcn.1400d0020
mov rdi, rax
mov rcx, rbx
call fcn.14012a718
test rdi, rdi
je 0x1400cf98f
mov ecx, 7
call fcn.14012a720
mov rdx, rax
mov rcx, rdi
mov rbx, rax
mov word [rax + 1], 0x6c65
mov word [rax + 4], 0x7463
mov byte [rax + 6], 0
mov byte [rax], 0x73
mov byte [rax + 3], 0x65
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
mov rdi, rax
call fcn.14012a718
test rdi, rdi
je 0x1400cf98f
lea ecx, [r13 + 1]
mov qword [rsp + 0x20], r12
mov r9, rsi
mov r8, r14
mov rdx, r15
call rdi
mov esi, eax
jmp 0x1400cf996
mov rsi, 0xffffffffffffffff
mov r14d, dword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
test esi, esi
jg 0x1400cfa64
cmp esi, 0xffffffff
jne 0x1400cfa5d
lea ecx, [rsi + 0xc]
call fcn.14012a720
mov rcx, rax
mov rbx, rax
mov dword [rax + 2], 0x32335f32
mov dword [rax + 7], 0x6c6c64
mov word [rax], 0x7357
mov byte [rax + 6], 0x2e
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
test rax, rax
jne 0x1400cf9ef
mov rcx, rbx
call fcn.1400d0020
mov rdi, rax
mov rcx, rbx
call fcn.14012a718
test rdi, rdi
je 0x1400cfa5d
mov ecx, 0x10
call fcn.14012a720
mov rdx, rax
mov rcx, rdi
mov rbx, rax
mov word [rax + 8], 0x7473
mov dword [rax + 3], 0x4c746547
mov word [rax], 0x5357
mov dword [rax + 0xb], 0x726f7272
mov byte [rax + 0xa], 0x45
mov byte [rax + 7], 0x61
mov byte [rax + 0xf], 0
mov byte [rax + 2], 0x41
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
mov rdi, rax
call fcn.14012a718
test rdi, rdi
je 0x1400cfa5d
call rdi
cmp eax, 0x2714
mov eax, 0
cmove esi, eax
mov eax, esi
jmp 0x1400cf869
xor ecx, ecx
lea rbx, [r12 + 0xa]
mov r15d, ecx
mov r12d, r14d
mov r13d, 0x200
nop word [rax + rax]
mov r14, qword [rbx - 0xa]
mov word [rbx], cx
cmp r14, 0xffffffffffffffff
je 0x1400cfcef
mov ecx, 0xb
call fcn.14012a720
mov rcx, rax
mov rdi, rax
mov dword [rax + 2], 0x32335f32
mov dword [rax + 7], 0x6c6c64
mov word [rax], 0x7357
mov byte [rax + 6], 0x2e
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rsi, rax
test rax, rax
jne 0x1400cfad1
mov rcx, rdi
call fcn.1400d0020
mov rsi, rax
mov rcx, rdi
call fcn.14012a718
test rsi, rsi
je 0x1400cfb5d
mov ecx, 0xd
call fcn.14012a720
mov rdx, rax
mov rcx, rsi
mov rdi, rax
mov word [rax + 1], 0x575f
mov word [rax + 4], 0x4641
mov dword [rax + 7], 0x65537349
mov word [rax + 0xb], 0x74
mov byte [rax + 3], 0x53
mov byte [rax + 6], 0x44
mov byte [rax], 0x5f
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rdi
mov rsi, rax
call fcn.14012a718
test rsi, rsi
je 0x1400cfb5d
lea rdx, [rsp + 0x50]
mov rcx, r14
call rsi
test eax, eax
je 0x1400cfb5d
movzx ecx, word [rbx - 2]
mov eax, 0x100
test ax, cx
je 0x1400cfb4a
or word [rbx], ax
movzx eax, word [rbx]
mov edx, 0x300
test dx, cx
je 0x1400cfb5d
or ax, dx
mov word [rbx], ax
mov r14, qword [rbx - 0xa]
mov ecx, 0xb
call fcn.14012a720
mov rcx, rax
mov rdi, rax
mov dword [rax + 2], 0x32335f32
mov dword [rax + 7], 0x6c6c64
mov word [rax], 0x7357
mov byte [rax + 6], 0x2e
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rsi, rax
test rax, rax
jne 0x1400cfba1
mov rcx, rdi
call fcn.1400d0020
mov rsi, rax
mov rcx, rdi
call fcn.14012a718
test rsi, rsi
je 0x1400cfc15
mov ecx, 0xd
call fcn.14012a720
mov rdx, rax
mov rcx, rsi
mov rdi, rax
mov word [rax + 1], 0x575f
mov word [rax + 4], 0x4641
mov dword [rax + 7], 0x65537349
mov word [rax + 0xb], 0x74
mov byte [rax + 3], 0x53
mov byte [rax + 6], 0x44
mov byte [rax], 0x5f
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rdi
mov rsi, rax
call fcn.14012a718
test rsi, rsi
je 0x1400cfc15
lea rdx, [rbp + 0x160]
mov rcx, r14
call rsi
test eax, eax
je 0x1400cfc15
test byte [rbx - 2], 0x10
je 0x1400cfc15
or word [rbx], 0x10
mov r14, qword [rbx - 0xa]
mov ecx, 0xb
call fcn.14012a720
mov rcx, rax
mov rdi, rax
mov dword [rax + 2], 0x32335f32
mov dword [rax + 7], 0x6c6c64
mov word [rax], 0x7357
mov byte [rax + 6], 0x2e
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rsi, rax
test rax, rax
jne 0x1400cfc59
mov rcx, rdi
call fcn.1400d0020
mov rsi, rax
mov rcx, rdi
call fcn.14012a718
test rsi, rsi
je 0x1400cfce4
mov ecx, 0xd
call fcn.14012a720
mov rdx, rax
mov rcx, rsi
mov rdi, rax
mov word [rax + 1], 0x575f
mov word [rax + 4], 0x4641
mov dword [rax + 7], 0x65537349
mov word [rax + 0xb], 0x74
mov byte [rax + 3], 0x53
mov byte [rax + 6], 0x44
mov byte [rax], 0x5f
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rdi
mov rsi, rax
call fcn.14012a718
test rsi, rsi
je 0x1400cfce4
lea rdx, [rbp + 0x370]
mov rcx, r14
call rsi
test eax, eax
je 0x1400cfce4
movzx ecx, word [rbx - 2]
test r13w, cx
je 0x1400cfcd1
or word [rbx], r13w
movzx eax, word [rbx]
mov edx, 0x400
test dx, cx
je 0x1400cfce4
or ax, dx
mov word [rbx], ax
cmp word [rbx], 0
je 0x1400cfced
inc r15d
xor ecx, ecx
add rbx, 0x10
sub r12, 1
jne 0x1400cfa80
mov eax, r15d
jmp 0x1400cf869