Function at 0x140002220
Capabilities:
Link many functions at runtime

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rbx, rcx
mov rbp, rdx
mov r12d, r8d
mov esi, r9d
cmp qword [0x14001c100], 0
je 0x1400024f6
cmp qword [0x14001c0f8], 0
je 0x140002522
cmp qword [0x14001c0f0], 0
je 0x140002555
cmp qword [0x14001c0e8], 0
je 0x140002588
cmp qword [0x14001c0e0], 0
je 0x1400025bb
cmp qword [0x14001c0d8], 0
je 0x1400025ee
cmp qword [0x14001c0d0], 0
je 0x140002621
cmp qword [0x14001c0c8], 0
je 0x140002654
cmp qword [0x14001c0c0], 0
je 0x140002687
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov edx, 0
mov rcx, rbx
call qword [0x14001c0f8]
mov rdi, rax
test rax, rax
je 0x1400027e3
mov dword [rsp + 0x4c], 0xea60
lea rbx, [rsp + 0x4c]
mov r9d, 4
mov r8, rbx
mov edx, 2
mov rcx, rax
call qword [0x14001c0f0]
mov r9d, 4
mov r8, rbx
mov edx, 5
mov rcx, rdi
call qword [0x14001c0f0]
mov r9d, 4
mov r8, rbx
mov edx, 6
mov rcx, rdi
call qword [0x14001c0f0]
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], 0
mov r9d, 0
movzx r8d, r12w
mov rdx, rbp
mov rcx, rdi
call qword [0x14001c0e0]
mov r13, rax
mov rbx, rax
test rax, rax
je 0x1400027b7
cmp dword [rsp + 0xe8], 1
sbb ebx, ebx
and ebx, 0xff800000
sub ebx, 0x7f380000
cmp esi, 2
je 0x1400026ba
lea rcx, [0x1400184bd]
call fcn.140005cd5
mov rsi, rax
mov dword [rsp + 0xd8], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0
mov r8, qword [rsp + 0xc0]
mov rdx, rsi
mov rcx, r13
call qword [0x14001c0d8]
mov rbp, rax
mov rcx, rsi
call fcn.140005d5c
mov rbx, rbp
test rbp, rbp
je 0x1400027ae
cmp qword [rsp + 0xc8], 0
je 0x140002488
lea rcx, [0x1400184dd]
call fcn.140005cd5
mov rsi, rax
mov rcx, rax
call sub.msvcrt.dll_wcslen
mov rbx, rax
mov rcx, qword [rsp + 0xc8]
call sub.msvcrt.dll_wcslen
lea rcx, [rbx + rax + 1]
add rcx, rcx
call fcn.140004e20
mov rbx, rax
test rax, rax
je 0x140002478
mov rdx, rsi
mov rcx, rax
call sub.msvcrt.dll_wcscpy
mov rdx, qword [rsp + 0xc8]
mov rcx, rbx
call sub.msvcrt.dll_wcscat
mov rcx, rsi
call fcn.140005d5c
mov qword [rsp + 0xc8], rbx
mov ecx, 0
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0xd0]
mov r8d, 0
mov rdx, qword [rsp + 0xc8]
mov rcx, rbp
call qword [0x14001c0d0]
cmp dword [rsp + 0xe8], 0
jne 0x1400026ce
mov ecx, 0x1000
call fcn.140004e20
mov rbx, rax
mov esi, 0
mov r12d, 0
lea r14, [rsp + 0x40]
test rax, rax
jne 0x140002772
jmp 0x1400027a5
lea rcx, [0x1400183d0]
call fcn.140005cd5
mov rdi, rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x14001c100], rax
mov rcx, rdi
call fcn.140005d5c
jmp 0x14000224a
lea rcx, [0x1400183ef]
call fcn.140005c50
mov rdi, rax
mov rdx, rax
mov rcx, qword [0x14001c100]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14001c0f8], rax
mov rcx, rdi
call fcn.140005d5c
jmp 0x140002258
lea rcx, [0x140018405]
call fcn.140005c50
mov rdi, rax
mov rdx, rax
mov rcx, qword [0x14001c100]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14001c0f0], rax
mov rcx, rdi
call fcn.140005d5c
jmp 0x140002266
lea rcx, [0x140018420]
call fcn.140005c50
mov rdi, rax
mov rdx, rax
mov rcx, qword [0x14001c100]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14001c0e8], rax
mov rcx, rdi
call fcn.140005d5c
jmp 0x140002274
lea rcx, [0x14001843d]
call fcn.140005c50
mov rdi, rax
mov rdx, rax
mov rcx, qword [0x14001c100]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14001c0e0], rax
mov rcx, rdi
call fcn.140005d5c
jmp 0x140002282
lea rcx, [0x140018456]
call fcn.140005c50
mov rdi, rax
mov rdx, rax
mov rcx, qword [0x14001c100]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14001c0d8], rax
mov rcx, rdi
call fcn.140005d5c
jmp 0x140002290
lea rcx, [0x14001846f]
call fcn.140005c50
mov rdi, rax
mov rdx, rax
mov rcx, qword [0x14001c100]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14001c0d0], rax
mov rcx, rdi
call fcn.140005d5c
jmp 0x14000229e
lea rcx, [0x140018488]
call fcn.140005c50
mov rdi, rax
mov rdx, rax
mov rcx, qword [0x14001c100]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14001c0c8], rax
mov rcx, rdi
call fcn.140005d5c
jmp 0x1400022ac
lea rcx, [0x1400184a1]
call fcn.140005c50
mov rdi, rax
mov rdx, rax
mov rcx, qword [0x14001c100]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14001c0c0], rax
mov rcx, rdi
call fcn.140005d5c
jmp 0x1400022ba
lea rcx, [0x1400184cc]
call fcn.140005cd5
mov rsi, rax
jmp 0x1400023c6
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2f0d
je 0x1400026e6
cmp eax, 0x2f19
jne 0x1400024cb
mov dword [rsp + 0x44], 4
lea rbx, [rsp + 0x48]
lea r9, [rsp + 0x44]
mov r8, rbx
mov edx, 0x1f
mov rcx, rbp
call qword [0x14001c0e8]
or dword [rsp + 0x48], 0x3180
mov r9d, 4
mov r8, rbx
mov edx, 0x1f
mov rcx, rbp
call qword [0x14001c0f0]
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0xd0]
mov r8d, 0
mov edx, 0
mov rcx, rbp
call qword [0x14001c0d0]
jmp 0x1400024cb
add r12d, eax
lea r15d, [rsi + 0x1000]
lea edx, [rsi + 0x2000]
mov rcx, rbx
call fcn.140004e45
mov rbx, rax
mov esi, r15d
mov edx, esi
add rdx, rbx
mov r9, r14
mov r8d, 0x1000
mov rcx, rbp
call qword [0x14001c0c8]
test eax, eax
je 0x140002795
mov eax, dword [rsp + 0x40]
test eax, eax
jne 0x140002754
test r12d, r12d
je 0x1400027d4
mov rax, qword [rsp + 0xe0]
mov dword [rax], r12d
mov rcx, rbp
call qword [0x14001c0c0]
mov rcx, r13
call qword [0x14001c0c0]
mov rcx, rdi
call qword [0x14001c0c0]
mov rax, rbx
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
call fcn.140004e72
mov ebx, 0
jmp 0x1400027a5
mov rbx, rax
jmp 0x1400027c0