Function at 0x180005ff0
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4c8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x430], xmm7
movaps xmmword [rbp + 0x420], xmm6
mov rax, qword [0x1800220a8]
xor rax, rbp
mov qword [rbp + 0x418], rax
movabs rax, 0xdadb848d869a8da3
mov qword [rbp + 0x12], rax
mov word [rbp + 0x1a], 0x8cc6
mov byte [rbp + 0x1c], 0x84
mov word [rbp + 0x1d], 0xe884
mov byte [rbp + 0x1f], 0
sub rsp, 0x20
lea rdi, [rbp + 0x12]
mov rcx, rdi
mov edx, 0xd
call fcn.180003420
mov rsi, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rdi
call rsi
add rsp, 0x20
mov rbx, rax
mov dword [rbp + 0xa], 0xfacfdefc
mov byte [rbp + 0xe], 0xf8
mov word [rbp + 0xf], 0xbbeb
mov byte [rbp + 0x11], 0
sub rsp, 0x20
lea rdi, [rbp + 0xa]
mov rcx, rdi
mov edx, 7
call fcn.180003420
mov r14, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
mov rdx, rdi
call r14
call rax
add rsp, 0x20
mov dword [rbp - 0x60], eax
movabs rax, 0xf6f7a8a1aab6a18f
mov qword [rbp - 4], rax
mov word [rbp + 4], 0xa0ea
mov byte [rbp + 6], 0xa8
mov word [rbp + 7], 0xc4a8
mov byte [rbp + 9], 0
sub rsp, 0x20
lea rdi, [rbp - 4]
mov rcx, rdi
mov edx, 0xd
call fcn.180003420
mov rcx, rdi
call rsi
add rsp, 0x20
mov rbx, rax
mov dword [rbp - 0xe], 0xa29988aa
mov word [rbp - 0xa], 0xa0a8
mov byte [rbp - 8], 0xae
mov word [rbp - 7], 0xedbd
mov byte [rbp - 5], 0
sub rsp, 0x20
lea rdi, [rbp - 0xe]
mov rcx, rdi
mov edx, 9
call fcn.180003420
mov rcx, rbx
mov rdx, rdi
call r14
call rax
add rsp, 0x20
mov dword [rbp - 0x5c], eax
mov dword [rbp - 0x44], 0
mov dword [rbp - 0x48], 0
mov dword [rbp - 0x4c], 0
movabs rax, 0xb1b9f3b1b1b9a9b3
mov qword [rbp - 0x19], rax
mov byte [rbp - 0x11], 0xb1
mov word [rbp - 0x10], 0xdd
sub rsp, 0x20
lea rcx, [rbp - 0x19]
mov edx, 0xa
call fcn.180003420
add rsp, 0x20
movzx eax, word [rbp - 0x11]
mov word [rbp + 0x388], ax
mov rax, qword [rbp - 0x19]
mov qword [rbp + 0x380], rax
sub rsp, 0x20
lea rcx, [rbp + 0x380]
call rsi
add rsp, 0x20
mov rdi, rax
mov dword [rbp - 0x30], 0xf1f6f9e1
mov byte [rbp - 0x2c], 0xe6
movaps xmm0, xmmword [0x180018250]
movaps xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x2b], 0x94e7
mov byte [rbp - 0x29], 0
sub rsp, 0x20
lea rcx, [rbp - 0x40]
mov edx, 0x17
call fcn.180003420
add rsp, 0x20
mov rax, qword [rbp - 0x31]
mov qword [rbp + 0x36f], rax
movaps xmm0, xmmword [rbp - 0x40]
movaps xmmword [rbp + 0x360], xmm0
sub rsp, 0x20
lea rdx, [rbp + 0x360]
mov rcx, rdi
call r14
add rsp, 0x20
mov qword [rbp - 0x78], rax
test rax, rax
setne byte [rbp - 0x55]
mov eax, 0x2cd6
lea r12, [rbp + 0x390]
movaps xmm6, xmmword [0x180018260]
movaps xmm7, xmmword [0x180018270]
jmp 0x180006240
mov eax, 0xf3e
nop word cs:[rax + rax]
cmp eax, 0x390b
jg 0x1800062a0
cmp eax, 0x1648
jg 0x1800062e0
cmp eax, 0xf3d
jle 0x180006350
cmp eax, 0x12db
je 0x1800063f0
cmp eax, 0x153c
jne 0x1800069b7
sub rsp, 0x20
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrlenA]
add rsp, 0x20
cdqe
cmp byte [rax + r12 - 1], 0x23
mov eax, 0x390c
mov ecx, 0x7e87
cmove eax, ecx
jmp 0x180006240
cmp eax, 0x6951
jg 0x180006320
cmp eax, 0x5af0
jg 0x180006374
cmp eax, 0x390c
je 0x180006231
cmp eax, 0x41bb
jne 0x180006240
mov dword [rbp - 0x6c], edi
mov eax, 0x26e9
jmp 0x180006240
cmp eax, 0x2cd5
jg 0x180006397
cmp eax, 0x1649
je 0x1800063fa
cmp eax, 0x26e9
jne 0x180006240
cmp dword [rbp - 0x6c], 0
mov eax, 0x2ea6
mov ecx, 0x1eb
cmove eax, ecx
jmp 0x180006240
cmp eax, 0x72ad
jg 0x1800063b7
cmp eax, 0x6952
je 0x18000641e
cmp eax, 0x6df1
jne 0x180006240
mov eax, 0x41bb
mov edi, 2
jmp 0x180006240
cmp eax, 0x1eb
je 0x18000685e
cmp eax, 0xbb3
jne 0x180006240
add r13d, 1
mov eax, 0x1649
jmp 0x180006240
cmp eax, 0x5af1
je 0x180006868
cmp eax, 0x5f90
jne 0x180006240
mov eax, 0x1649
xor r13d, r13d
jmp 0x180006240
cmp eax, 0x2cd6
je 0x180006980
cmp eax, 0x2ea6
jne 0x180006240
mov eax, 0x12db
jmp 0x180006240
cmp eax, 0x72ae
je 0x180006996
cmp eax, 0x7e87
jne 0x180006240
sub rsp, 0x20
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrlenA]
add rsp, 0x20
cdqe
mov byte [rax + r12 - 1], 0
mov eax, 0x390c
jmp 0x180006240
mov eax, 0x153c
jmp 0x180006240
mov rax, qword [rsi + 0x18]
movsxd rcx, r13d
mov rax, qword [rax + rcx*8]
mov qword [rbp - 0x80], rax
test rax, rax
mov eax, 0x5af1
mov ecx, 0x6df1
cmove eax, ecx
jmp 0x180006240
movzx eax, word [rbp - 0x4c]
mov dword [rbp - 0x4c], eax
mov dword [rbp - 0x50], 0x40
mov eax, 0x10
call fcn.180009a00
sub rsp, rax
mov dword [rbp - 0x64], edi
mov rdi, rsp
mov word [rdi], 0x9fb1
movabs rax, 0x9ed4c8c9969f9488
mov qword [rdi + 2], rax
mov byte [rdi + 0xa], 0x96
mov word [rdi + 0xb], 0xfa96
mov byte [rdi + 0xd], 0
sub rsp, 0x20
mov rcx, rdi
mov edx, 0xd
call fcn.180003420
mov rcx, rdi
mov dword [rbp - 0x68], r13d
mov rsi, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rsi
add rsp, 0x20
mov rdi, rax
mov eax, 0x20
call fcn.180009a00
sub rsp, rax
mov rbx, rsp
movaps xmmword [rbx], xmm6
mov word [rbx + 0x10], 0xde
sub rsp, 0x20
mov rcx, rbx
mov edx, 0x11
call fcn.180003420
mov rcx, rdi
mov rdx, rbx
mov r13, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call r13
mov r15, r12
lea r12, [rbp + 0x320]
mov rcx, r12
lea r14, [rbp - 0x50]
mov rdx, r14
call rax
add rsp, 0x20
mov dword [rbp - 0x50], 0x40
mov eax, 0x10
call fcn.180009a00
sub rsp, rax
mov rdi, rsp
mov word [rdi], 0x9792
movabs rax, 0xb7fde1e09a839285
mov qword [rdi + 2], rax
mov byte [rdi + 0xa], 0xbf
mov word [rdi + 0xb], 0xd3bf
mov byte [rdi + 0xd], 0
sub rsp, 0x20
mov rcx, rdi
mov edx, 0xd
call fcn.180003420
mov rcx, rdi
call rsi
add rsp, 0x20
mov rdi, rax
mov eax, 0x10
call fcn.180009a00
sub rsp, rax
mov rbx, rsp
mov word [rbx], 0xa684
movabs rax, 0xaea28db1a6b096b7
mov qword [rbx + 2], rax
mov byte [rbx + 0xa], 0xa6
mov word [rbx + 0xb], 0xc382
mov byte [rbx + 0xd], 0
sub rsp, 0x20
mov rcx, rbx
mov edx, 0xd
call fcn.180003420
mov rcx, rdi
mov rdx, rbx
call r13
lea r13, [rbp + 0x2e0]
mov rcx, r13
mov rdx, r14
call rax
add rsp, 0x20
mov eax, 0x20
call fcn.180009a00
sub rsp, rax
mov rdi, rsp
mov word [rdi + 0x10], 0xb1ee
movabs rax, 0xeeafb1eeafb1f9af
mov qword [rdi + 0x12], rax
mov byte [rdi + 0x1a], 0xb1
movaps xmmword [rdi], xmm7
mov word [rdi + 0x1b], 0x8a
sub rsp, 0x20
mov rcx, rdi
mov edx, 0x1c
call fcn.180003420
add rsp, 0x20
movups xmm0, xmmword [rdi + 0xc]
movups xmmword [rbp + 0x2cc], xmm0
movaps xmm0, xmmword [rdi]
movaps xmmword [rbp + 0x2c0], xmm0
mov eax, dword [rbp - 0x4c]
mov ecx, dword [rbp - 0x48]
mov edx, dword [rbp - 0x44]
sub rsp, 0x60
mov ebx, dword [rbp - 0x5c]
mov dword [rsp + 0x50], ebx
mov ebx, dword [rbp - 0x60]
mov dword [rsp + 0x48], ebx
lea rbx, [0x180022010]
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x38], 0x40
mov rcx, r15
lea rdx, [rbp + 0x2c0]
mov r8, r12
mov r12, r15
mov r9, r13
call qword [sym.imp.USER32.dll_wsprintfA]
add rsp, 0x60
mov eax, 0x10
call fcn.180009a00
sub rsp, rax
mov rdi, rsp
mov word [rdi], 0x8aae
mov dword [rdi + 2], 0xcbcaa6cb
mov word [rdi + 6], 0x9dd7
mov byte [rdi + 8], 0x95
mov word [rdi + 9], 0xf995
mov byte [rdi + 0xb], 0
sub rsp, 0x20
mov rcx, rdi
mov edx, 0xb
call fcn.180003420
mov rcx, rdi
mov r14, rsi
call rsi
add rsp, 0x20
mov rdi, rax
mov eax, 0x10
call fcn.180009a00
sub rsp, rax
mov rbx, rsp
mov word [rbx], 0xb4b0
mov dword [rbx + 2], 0x8693b4a6
mov word [rbx + 6], 0x9395
mov byte [rbx + 8], 0x92
mov word [rbx + 9], 0xe797
mov byte [rbx + 0xb], 0
sub rsp, 0x20
mov rcx, rbx
mov edx, 0xb
call fcn.180003420
mov rcx, rdi
mov rdx, rbx
mov rsi, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rsi
mov cx, 0x202
lea rdx, [rbp + 0x128]
call rax
add rsp, 0x20
mov eax, 0x10
call fcn.180009a00
sub rsp, rax
mov rdi, rsp
mov word [rdi], 0xb99d
mov dword [rdi + 2], 0xf8f995f8
mov word [rdi + 6], 0xaee4
mov byte [rdi + 8], 0xa6
mov word [rdi + 9], 0xcaa6
mov byte [rdi + 0xb], 0
sub rsp, 0x20
mov rcx, rdi
mov edx, 0xb
call fcn.180003420
mov rcx, rdi
call r14
mov r15, r14
add rsp, 0x20
mov rdi, rax
mov eax, 0x10
call fcn.180009a00
sub rsp, rax
mov rbx, rsp
mov word [rbx], 0xbbb9
movabs rax, 0xb3bfb0aaadb1b6aa
mov qword [rbx + 2], rax
mov byte [rbx + 0xa], 0xbb
mov word [rbx + 0xb], 0xde
sub rsp, 0x20
mov rcx, rbx
mov edx, 0xc
call fcn.180003420
mov rcx, rdi
mov rdx, rbx
call rsi
lea r14, [rbp + 0x20]
mov rcx, r14
mov edx, 0x100
call rax
add rsp, 0x20
mov eax, 0x10
call fcn.180009a00
sub rsp, rax
mov rdi, rsp
mov word [rdi], 0xebcf
mov dword [rdi + 2], 0xaaabc7aa
mov word [rdi + 6], 0xfcb6
mov byte [rdi + 8], 0xf4
mov word [rdi + 9], 0x98f4
mov byte [rdi + 0xb], 0
sub rsp, 0x20
mov rcx, rdi
mov edx, 0xb
call fcn.180003420
mov rcx, rdi
call r15
mov r13d, dword [rbp - 0x68]
add rsp, 0x20
mov rdi, rax
mov eax, 0x10
call fcn.180009a00
sub rsp, rax
mov rbx, rsp
mov word [rbx], 0xe8ea
movabs rax, 0xe3f4eff9fee2e5f9
mov qword [rbx + 2], rax
mov word [rbx + 0xa], 0xe0ec
mov byte [rbx + 0xc], 0xe8
mov word [rbx + 0xd], 0x8d
sub rsp, 0x20
mov rcx, rbx
mov edx, 0xe
call fcn.180003420
mov rcx, rdi
mov edi, dword [rbp - 0x64]
mov rdx, rbx
call rsi
mov rcx, r14
call rax
add rsp, 0x20
mov rsi, rax
test rax, rax
mov eax, 0x5f90
mov ecx, 0xf3e
cmove eax, ecx
jmp 0x180006240
mov eax, 0xbb3
jmp 0x180006240
movsx r8, word [rsi + 0x12]
sub rsp, 0x20
lea rcx, [rbp - 0x54]
mov rdx, qword [rbp - 0x80]
call fcn.18000af90
add rsp, 0x20
mov edi, dword [rbp - 0x54]
mov eax, 0x10
call fcn.180009a00
sub rsp, rax
mov rbx, rsp
mov word [rbx], 0xa084
mov dword [rbx + 2], 0xe1e08ce1
mov word [rbx + 6], 0xb7fd
mov byte [rbx + 8], 0xbf
mov word [rbx + 9], 0xd3bf
mov byte [rbx + 0xb], 0
sub rsp, 0x20
mov rcx, rbx
mov edx, 0xb
call fcn.180003420
mov rcx, rbx
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
add rsp, 0x20
mov rbx, rax
mov eax, 0x10
call fcn.180009a00
sub rsp, rax
mov r15, rsp
mov word [r15], 0x9c9b
mov dword [r15 + 2], 0x9cad8697
mov word [r15 + 6], 0x9d86
mov byte [r15 + 8], 0x93
mov word [r15 + 9], 0xf2
sub rsp, 0x20
mov rcx, r15
mov edx, 0xa
call fcn.180003420
mov rcx, rbx
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, edi
call rax
mov rcx, r12
mov rdx, rax
mov rbx, qword [sym.imp.KERNEL32.dll_lstrcatA]
call rbx
add rsp, 0x20
mov eax, 0x10
call fcn.180009a00
sub rsp, rax
mov rdi, rsp
mov word [rdi], 0xf9da
mov byte [rdi + 2], 0
sub rsp, 0x20
mov rcx, rdi
mov edx, 2
call fcn.180003420
mov rcx, r12
mov rdx, rdi
call rbx
add rsp, 0x20
mov eax, 0x41bb
xor edi, edi
jmp 0x180006240
cmp byte [rbp - 0x55], 0
mov eax, 0x6952
mov ecx, 0x72ae
cmovne eax, ecx
jmp 0x180006240
sub rsp, 0x20
lea rcx, [rbp - 0x44]
lea rdx, [rbp - 0x48]
lea r8, [rbp - 0x4c]
call qword [rbp - 0x78]
add rsp, 0x20
mov eax, 0x6952
jmp 0x180006240
cmp eax, 0xf3e
jne 0x180006240
sub rsp, 0x20
lea rsi, [rbp + 0x390]
mov rcx, rsi
mov rbx, qword [sym.imp.KERNEL32.dll_lstrlenA]
call rbx
add rsp, 0x20
add eax, 0x12
movsxd rdi, eax
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov edx, 8
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
add rsp, 0x20
mov rdi, rax
sub rsp, 0x20
mov rcx, rsi
call rbx
add rsp, 0x20
add eax, 2
movsxd r8, eax
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
call fcn.18000b640
mov rcx, rdi
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
add rsp, 0x20
mov rcx, qword [rbp + 0x418]
xor rcx, rbp
sub rsp, 0x20
call fcn.180009a60
add rsp, 0x20
mov rax, rdi
movaps xmm6, xmmword [rbp + 0x420]
movaps xmm7, xmmword [rbp + 0x430]
lea rsp, [rbp + 0x448]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret