Function at 0x1401956b0
Capabilities:
Create process on windows
Create thread

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x10]
sub rsp, 0x110
movss xmm0, dword [0x140395ffc]
call fcn.140140e20
movaps xmm0, xmmword [0x14039b980]
lea rdx, [rsp + 0x50]
xor ecx, ecx
movups xmmword [rsp + 0x50], xmm0
call fcn.14013c860
lea rcx, str.WELCOME_TO_TONGA
call fcn.14016ecd0
mov ecx, 1
call fcn.14013c080
movss xmm0, dword [0x140391bfc]
call fcn.140140e20
call fcn.14016c8b0
mov ecx, dword [0x140fb7db0]
lea rdx, str.DINPUT8.dll
call fcn.1401af3f0
test al, al
jne 0x140195877
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
lea rdi, [0x140fabd20]
mov rax, rdi
cmovae rax, qword [0x140fabd20]
cmp byte [rax], 0
je 0x140195866
lea rcx, str.INITIATE_THE__BFV_EXPERIENCE_BY_SELECTING_n_START_GAME._n_nFOR_AN_ENHANCED_ENCOUTER_WITH_MODS_nLAUNCH_THE_GAME_WITH_FROSTY_TOOLSUITE._n_n
call fcn.14016ecd0
lea rdx, [rbp + 0x30]
mov qword [rbp + 0x30], 0
lea rcx, str._START_GAME
call fcn.1401675a0
test al, al
je 0x140195827
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
cmovae rdi, qword [0x140fabd20]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
xor ebx, ebx
mov qword [rsp + 0x38], rbx
xor r9d, r9d
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov dword [rsp + 0x28], ebx
xor edx, edx
mov rcx, rdi
mov dword [rsp + 0x20], ebx
mov dword [rbp - 0x80], 0x68
movups xmmword [rbp - 0x78], xmm0
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
movups xmmword [rbp - 0x28], xmm0
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x1401957fa
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call sub.MSVCP140.dll__Xtime_get_ticks
mov rcx, rax
movabs rax, 0xd6bf94d5e57a42bd
imul rcx
add rdx, rcx
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [0x140fb5da0], rdx
movss xmm1, dword [0x140391c70]
xorps xmm0, xmm0
call fcn.14013f900
lea rdx, [rbp + 0x30]
mov qword [rbp + 0x30], 0
lea rcx, str._SERVER_BROWSER
call fcn.1401675a0
test al, al
je 0x1401959dd
mov dword [0x140fb7dc8], 2
jmp 0x1401959dd
lea rcx, str.THE_LAUNCHER_COULDNT_FIND_THE_GAME._nPLEASE_INITIATE_IT_MANUALLY_AND_WAIT_FOR_AUTO_DETECTION._n_n_n
call fcn.14016ecd0
jmp 0x1401959dd
lea rcx, str.BF1_IS_NOW_STARTING._nTONGA_WILL_AUTO_ATTACH_WHEN_THE_nGAME_IS_READY._n
call fcn.14016ecd0
call fcn.140133c20
subss xmm0, dword [0x140391c50]
lea rcx, [rbp + 0x30]
mov dword [rbp + 0x30], 0x41a00000
movss dword [rbp + 0x34], xmm0
call fcn.140140300
movaps xmm0, xmmword [0x140391cd0]
lea r9, [rsp + 0x50]
movss xmm2, dword [0x140391c20]
lea rcx, str.Loading
movss xmm1, dword [0x140391c40]
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x28], 6
movss xmm0, dword [0x140391c1c]
movss dword [rsp + 0x20], xmm0
call fcn.14019d540
call fcn.14016c8b0
cmp byte [0x140fb5da9], 0
jne 0x1401959dd
mov ecx, dword [0x140fb7db0]
lea rdx, str.DINPUT8.dll
call fcn.1401af3f0
test al, al
je 0x1401959dd
mov rcx, qword [0x140fb83a0]
mov rdx, qword [0x140fb83a8]
mov byte [0x140fb5dae], 0
cmp rcx, rdx
je 0x140195949
lea r8, [0x140fb83a0]
call fcn.140173450
mov rax, qword [0x140fb83a0]
mov qword [0x140fb83a8], rax
cmp byte [0x140fb5dad], 0
jne 0x1401959d6
mov ecx, 8
call fcn.140384e20
xor ebx, ebx
test rax, rax
je 0x140195973
lea rcx, [0x140199bb0]
mov qword [rax], rcx
jmp 0x140195976
mov rax, rbx
lea rcx, [rsp + 0x58]
mov r9, rax
mov qword [rsp + 0x28], rcx
lea r8, [0x140177160]
xor ecx, ecx
mov dword [rsp + 0x20], ebx
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140195aa2
cmp dword [rsp + 0x58], ebx
je 0x140195ab1
movaps xmm0, xmmword [rsp + 0x50]
lea rcx, [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
call sub.MSVCP140.dll__Thrd_detach
test eax, eax
jne 0x140195ab1
mov byte [0x140fb5dad], 1
jmp 0x1401959dd
mov byte [0x140fb5da9], 1
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm7
call fcn.140133c20
movaps xmm7, xmm0
call fcn.140133c40
movaps xmm6, xmm0
subss xmm6, xmm7
call fcn.140133c40
divss xmm0, dword [0x140391c28]
lea rcx, [rbp + 0x30]
mov dword [rbp + 0x34], 0
addss xmm0, xmm6
movss dword [rbp + 0x30], xmm0
call fcn.140140300
movaps xmm1, xmmword [0x140391cd0]
lea rax, [rsp + 0x60]
mov rcx, qword [0x140fb7dc0]
lea r9, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea r8, [rbp + 0x38]
lea rax, [rsp + 0x50]
movss dword [rbp + 0x40], xmm7
xorps xmm0, xmm0
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x40]
movss dword [rbp + 0x44], xmm7
movups xmmword [rsp + 0x60], xmm0
mov dword [rbp + 0x30], 0x3f800000
movups xmmword [rsp + 0x50], xmm1
mov dword [rbp + 0x34], 0x3f800000
mov qword [rbp + 0x38], 0
call fcn.140168e50
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x100]
add rsp, 0x110
pop rdi
pop rbx
pop rbp
ret
mov ecx, 6
mov dword [rsp + 0x58], ebx
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
mov ecx, 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3