Function at 0x10005760
Capabilities:
Create thread
Get common file path
Link many functions at runtime
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10026fc1
mov eax, dword fs:[0]
push eax
sub esp, 0x754
mov eax, dword [0x100382a4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x100060cf
mov eax, dword [ebp + 8]
push 0x104
push 0x10038dc8
mov dword [0x10038d78], eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
jne 0x100057c0
xor eax, eax
jmp 0x100060e4
push 0x10038dc8
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashA]
test eax, eax
je 0x100057b9
mov ecx, 0x104
mov eax, 0x10038dc8
nop dword [eax]
cmp byte [eax], 0
je 0x100057eb
inc eax
sub ecx, 1
jne 0x100057e0
mov edx, 0x104
mov esi, ecx
mov eax, edx
sub eax, ecx
neg esi
sbb esi, esi
xor edi, edi
and esi, eax
test ecx, ecx
mov eax, 0x80070057
cmovne eax, edi
je 0x1000585f
lea ecx, [esi + 0x10038dc8]
sub edx, esi
je 0x10005848
mov eax, 0x7ffffffe
mov esi, 0x1002c6d4
mov dword [ebp - 0x6d8], eax
sub esi, ecx
test eax, eax
je 0x10005848
cmp byte [ecx + esi], 0
je 0x10005848
mov al, byte [ecx + esi]
mov byte [ecx], al
inc ecx
mov eax, dword [ebp - 0x6d8]
dec eax
mov dword [ebp - 0x6d8], eax
sub edx, 1
jne 0x10005826
test edx, edx
lea eax, [ecx - 1]
cmovne eax, ecx
xor ecx, ecx
test edx, edx
mov byte [eax], 0
mov eax, 0x8007007a
cmovne eax, ecx
test eax, eax
jne 0x100057b9
push 0x10038dc8
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x10038d7c], eax
test eax, eax
je 0x100057b9
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x1002c6e0
push eax
call esi
push 0x1002c6f4
push dword [0x10038d7c]
mov dword [0x10038d80], eax
call esi
push 0x1002c710
push dword [0x10038d7c]
mov dword [0x10038d84], eax
call esi
push 0x1002c728
push dword [0x10038d7c]
mov dword [0x10038d88], eax
call esi
push 0x1002c740
push dword [0x10038d7c]
mov dword [0x10038d8c], eax
call esi
push 0x1002c758
push dword [0x10038d7c]
mov dword [0x10038d90], eax
call esi
push 0x1002c774
push dword [0x10038d7c]
mov dword [0x10038d94], eax
call esi
push 0x1002c790
push dword [0x10038d7c]
mov dword [0x10038d98], eax
call esi
push 0x1002c7a8
push dword [0x10038d7c]
mov dword [0x10038d9c], eax
call esi
push 0x1002c7bc
push dword [0x10038d7c]
mov dword [0x10038da0], eax
call esi
push 0x1002c7cc
push dword [0x10038d7c]
mov dword [0x10038da4], eax
call esi
push 0x1002c7dc
push dword [0x10038d7c]
mov dword [0x10038da8], eax
call esi
push 0x1002c7ec
push dword [0x10038d7c]
mov dword [0x10038dac], eax
call esi
push 0x1002c7fc
push dword [0x10038d7c]
mov dword [0x10038db0], eax
call esi
push 0x1002c810
push dword [0x10038d7c]
mov dword [0x10038db4], eax
call esi
push 0x1002c824
push dword [0x10038d7c]
mov dword [0x10038db8], eax
call esi
push 0x1002c834
push dword [0x10038d7c]
mov dword [0x10038dbc], eax
call esi
push 0x40
mov dword [0x10038dbc], eax
lea eax, [ebp - 0xf4]
push 0
push eax
mov dword [ebp - 4], 0
call sub.VCRUNTIME140.dll_memset
lea eax, [ebp - 0xf4]
mov dword [ebp - 0xf4], 0
add esp, 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0
push 0
push 0
lea ecx, [ebp - 0xf0]
call fcn.100030f0
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0
push 8
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 2
mov dword [ebp - 0xf4], 0x3f800000
call fcn.100032b0
push 0
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 3
push 0
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
call fcn.100030c0
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
push 8
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 5
mov dword [ebp - 0xd4], 0x3f800000
call fcn.100032b0
push 0xa
push str.production
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 6
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
call fcn.10003910
push 9
push 0x1002c850
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 7
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
call fcn.10003910
sub esp, 0xc
mov byte [ebp - 4], 8
mov ecx, esp
mov dword [ebp - 0x1c], esp
lea eax, [ebp - 0xf4]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
push dword [ebp - 0xb4]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.10001ef0
sub esp, 0x18
mov byte [ebp - 4], 9
mov ecx, esp
push 0xd
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.Unchained.cfg
mov byte [ecx], 0
call fcn.10003910
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xf4]
call fcn.100079c0
push fcn.10002570
push 2
push 0x18
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 6
push eax
call fcn.100255cd
sub esp, 0x18
mov ecx, esp
push 0xa
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.CLIENT.FOV
mov byte [ecx], 0
call fcn.10003910
lea ecx, [ebp - 0xf4]
call fcn.10007920
mov ecx, eax
call fcn.10009070
mov ecx, eax
call fcn.10025ba0
sub esp, 0x18
mov ecx, esp
cvtsd2ss xmm0, xmm0
push 0x12
push str.CLIENT.BlackWindow
movss dword [0x10038004], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.10003910
lea ecx, [ebp - 0xf4]
call fcn.10007920
test eax, eax
je 0x10005c27
mov ecx, eax
call fcn.10009010
mov byte [0x10038dc4], al
sub esp, 0x18
mov ecx, esp
push 0x11
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.CLIENT.TestServer
mov byte [ecx], 0
call fcn.10003910
lea ecx, [ebp - 0xf4]
call fcn.10007920
test eax, eax
je 0x10005c64
mov ecx, eax
call fcn.10009010
mov byte [0x10038dc5], al
lea ecx, [ebp - 0xd4]
call fcn.10002400
lea ecx, [ebp - 0xf4]
call fcn.10002460
cmp byte [0x10038dc4], 0
mov dword [ebp - 4], 0xffffffff
je 0x10005cac
call dword [sym.imp.KERNEL32.dll_AllocConsole]
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push eax
push 0x1002c8b4
push str.CONOUT_
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen]
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edi, eax
push edi
push 0
push 0x1fffff
mov dword [ebp - 0x6dc], edi
call dword [sym.imp.KERNEL32.dll_OpenProcess]
movss xmm0, dword [0x10038004]
sub esp, 8
cvtps2pd xmm0, xmm0
mov esi, eax
mov dword [ebp - 0x6d8], esi
movsd qword [esp], xmm0
push str.FOV_:__f__n
call fcn.10006250
movzx ecx, byte [0x10038dc4]
push ecx
push str.BlackWND___d__n
call fcn.10006250
movzx eax, byte [0x10038dc5]
push eax
push str.TestServer___d__n
call fcn.10006250
push edi
push str.PID_:__u__n
call fcn.10006250
push esi
push str.Process_:__u__n
call fcn.10006250
add esp, 0x2c
call fcn.10004430
push 0
test eax, eax
je 0x10005d96
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov eax, dword [ebp - 0x12c]
mov ecx, str.Unknown_exception
test eax, eax
mov byte [ebp - 4], 0xb
push 0x1002c46c
cmovne ecx, eax
push ecx
push str.Encountered_error:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.10001400
add esp, 8
push eax
call fcn.10001400
add esp, 8
push eax
call fcn.10001400
lea eax, [ebp - 0x12c]
mov dword [ebp - method.std::exception.virtual_0], vtable.std::exception.0
push eax
call sub.VCRUNTIME140.dll___std_exception_destroy
add esp, 0xc
mov eax, 0x10005c7a
ret
push 7
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x262a5e21
push eax
push 0x13093b4
push esi
mov word [ebp - 0x18], 0x6f3c
mov byte [ebp - 0x16], 0x40
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push 8
push str.game.dll
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
call fcn.10003910
cmp dword [ebp - 0xf8], 0x10
lea edi, [ebp - 0x10c]
lea eax, [ebp - 0x75c]
mov dword [ebp - 4], 0xc
cmovae edi, dword [ebp - 0x10c]
mov dword [ebp - 0x760], eax
test edi, edi
jne 0x10005e1b
xor eax, eax
mov dword [ebp - 0x760], eax
jmp 0x10005e79
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10005e20
sub ecx, edx
lea esi, [ecx + 1]
test esi, esi
js 0x10006102
cmp esi, 0x80
jle 0x10005e58
push 1
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
add esp, 8
mov dword [ebp - 0x760], eax
test eax, eax
je 0x1000610c
jmp 0x10005e64
lea eax, [ebp - 0x75c]
mov dword [ebp - 0x760], eax
test esi, esi
je 0x10005e79
push esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x760]
add esp, 0xc
push eax
lea eax, [ebp - 0x64]
push 0x10
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
mov eax, dword [ebp - 0x760]
lea ecx, [ebp - 0x75c]
add esp, 0xc
cmp eax, ecx
je 0x10005ea3
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push 0x328
lea eax, [ebp - 0x6d0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x6d0]
push dword [ebp - 0x6dc]
call fcn.10025270
cmp byte [ebp - 0x59c], 0
je 0x100060c2
lea ecx, [ebp - 0x6d0]
call fcn.10025370
push 0x278
lea eax, [ebp - 0x3a8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x64]
lea ecx, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x6d0]
push eax
call fcn.10025190
mov eax, dword [0x1002c928]
movups xmm0, xmmword [str.4C_64_2A_21_40_38_37]
mov dword [ebp - 0x2c], eax
mov al, byte [0x1002c92c]
mov byte [ebp - 0x28], al
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x3c]
push eax
movups xmmword [ebp - 0x3c], xmm0
call fcn.10024ea0
mov esi, eax
mov dword [ebp - 0x24], 0x7e2a795e
lea eax, [ebp - 0x24]
mov word [ebp - 0x20], 0x6648
add esp, 8
mov byte [ebp - 0x1e], 0x40
sub eax, esi
mov edi, 7
mov dword [ebp - 0x1c], eax
nop dword [eax]
push 0
push 1
add eax, esi
push eax
push esi
push dword [ebp - 0x6d8]
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov eax, dword [ebp - 0x1c]
inc esi
sub edi, 1
jne 0x10005f60
movups xmm0, xmmword [str.00_00_F0_41_00_00_00_3F_00_00_00_00_00_00_00_00_00_00_00_00_FF_FF_7F_7F]
lea eax, [ebp - 0x3a8]
push eax
movups xmmword [ebp - 0xac], xmm0
lea eax, [ebp - 0xac]
movups xmm0, xmmword [0x1002c940]
push eax
movups xmmword [ebp - 0x9c], xmm0
movups xmm0, xmmword [0x1002c950]
movups xmmword [ebp - 0x8c], xmm0
movups xmm0, xmmword [0x1002c960]
movups xmmword [ebp - 0x7c], xmm0
movq xmm0, qword [0x1002c970]
movq qword [ebp - 0x6c], xmm0
call fcn.10024ea0
mov edi, dword [ebp - 0x6d8]
add esp, 8
mov esi, eax
mov byte [ebp - 0xad], 0xff
lea eax, [ebp - 0xad]
push 0
push 1
push eax
lea ecx, [esi + 1]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push 0
push 1
lea eax, [ebp - 0xae]
mov byte [ebp - 0xae], 0x7f
push eax
lea eax, [esi + 2]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push 0
push 1
lea eax, [ebp - 0xaf]
mov byte [ebp - 0xaf], 0x47
push eax
lea eax, [esi + 3]
mov esi, dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push eax
push edi
call esi
mov eax, dword [0x1002c988]
movups xmm0, xmmword [str.33_D2_B8_E8_03_00_00]
mov dword [ebp - 0x44], eax
mov al, byte [0x1002c98c]
mov byte [ebp - 0x40], al
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x54]
push eax
movups xmmword [ebp - 0x54], xmm0
call fcn.10024ea0
add esp, 8
mov dword [ebp - 0xb4], 0xc8
lea ecx, [ebp - 0xb4]
add eax, 3
push 0
push 4
push ecx
push eax
push edi
call esi
push 4
call fcn.100256cb
mov edi, eax
add esp, 4
test edi, edi
je 0x1000609a
mov eax, dword [ebp - 0x6dc]
mov dword [edi], eax
jmp 0x1000609c
xor edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push edi
push 0x10002f00
push 0
push 0
call esi
push 0
push 0
push edi
push 0x10002d20
push 0
push 0
call esi
lea ecx, [ebp - 0x10c]
call fcn.10002570
jmp 0x100060df
test eax, eax
jne 0x100060df
push dword [0x10038d7c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100255b7
mov esp, ebp
pop ebp
ret 0xc
push 0x80070057
call fcn.10002b60
push 0x8007000e
call fcn.10002b60
int3