Function at 0x140195190
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x140fb3878]
xor rax, rsp
mov qword [rbp + 0x90], rax
movss xmm0, dword [0x140395ffc]
xor esi, esi
call fcn.140140e20
movaps xmm0, xmmword [0x14039b980]
lea rdx, [rbp + 0x70]
xor ecx, ecx
movups xmmword [rbp + 0x70], xmm0
call fcn.14013c860
lea rcx, str.SERVER_SETTINGS
call fcn.14016ecd0
lea ecx, [rsi + 1]
call fcn.14013c080
movss xmm0, dword [0x140391bfc]
call fcn.140140e20
lea rcx, str.SETTINGS_ARE_SAVED_ON_LEAVE_AND_EXECUTED_ON_NEXT_ROUND
call fcn.14016ecd0
mov qword [rsp + 0x30], rsi
lea rdi, [0x140fb5db0]
mov rdx, rdi
mov qword [rsp + 0x28], rsi
lea r9, [rbp + 0x70]
mov dword [rbp + 0x70], 0x44480000
mov r8d, 0x2000
mov dword [rbp + 0x74], 0x43e10000
lea rcx, [0x1403996a0]
mov dword [rsp + 0x20], esi
call fcn.14016bfa0
lea rdx, [rbp + 0x70]
mov qword [rbp + 0x70], rsi
lea rcx, str._BACK
call fcn.1401675a0
test al, al
je 0x140195688
mov qword [rsp + 0x1b0], rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov byte [rbp + 0x50], sil
mov rbx, 0xffffffffffffffff
mov qword [rsp + 0x1b8], r14
mov dword [0x140fb7dc8], 1
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0x68], reloc.WS2_32.dll_ntohs
nop dword [rax]
inc rbx
cmp byte [rdi + rbx], sil
jne 0x1401952a0
lea rcx, [rbp + 0x50]
cmp rbx, 0xf
ja 0x1401952c9
mov r8, rbx
mov qword [rbp + 0x60], rbx
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rbx + 0x50], sil
jmp 0x1401952dc
mov r9, rdi
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov rdx, rbx
call fcn.140177760
lea rcx, str.ServerSettings.txt
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
lea rax, [0x140398760]
lea rcx, [rbp - 0x18]
mov qword [rsp + 0x40], rax
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
xor r9d, r9d
lea rdx, [rsp + 0x48]
xor r8d, r8d
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
mov rax, qword [rsp + 0x40]
lea r14, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x40], r14
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x3c], edx
lea rcx, [rsp + 0x48]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov byte [rbp - 0x3c], sil
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x48], rax
mov byte [rbp - 0x47], sil
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov rax, qword [0x140fb9e70]
lea rdx, str.ServerSettings.txt
mov r9d, 0x40
mov qword [rbp - 0x38], rsi
lea rcx, [rsp + 0x48]
mov qword [rbp - 0x44], rax
mov qword [rbp - 0x50], rsi
lea r8d, [r9 - 0x36]
call fcn.1401b2940
test rax, rax
jne 0x1401953b8
mov rax, qword [rsp + 0x40]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
lea edx, [r8 + 2]
lea rax, [rsp + 0x40]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rdx, qword [rbp + 0x68]
lea rdi, [rbp + 0x50]
mov r8, qword [rbp + 0x50]
lea rbx, [rbp + 0x50]
cmp rdx, 0x10
lea rcx, [rbp + 0x50]
cmovae rdi, r8
add rdi, qword [rbp + 0x60]
cmp rdx, 0x10
cmovae rbx, r8
add rbx, qword [rbp + 0x60]
cmp rdx, 0x10
mov rdx, rbx
cmovae rcx, r8
mov r8b, ntohs
call fcn.140385b20
mov r8, rax
cmp rax, rbx
je 0x14019541d
inc rax
cmp rax, rbx
je 0x14019541d
movzx ecx, byte [rax]
cmp cl, 0xd
je 0x140195415
mov byte [r8], cl
inc r8
inc rax
cmp rax, rbx
jne 0x140195407
cmp qword [rbp + 0x68], 0x10
lea rax, [rbp + 0x50]
mov rbx, qword [rbp + 0x60]
lea rcx, [rbp + 0x50]
cmovae rax, qword [rbp + 0x50]
mov r9, r8
sub r9, rax
sub rdi, r8
mov rax, rbx
sub rax, r9
cmp rax, rdi
cmovb rdi, rax
cmp qword [rbp + 0x68], 0x10
cmovae rcx, qword [rbp + 0x50]
sub rbx, rdi
add rcx, r9
mov r8, rbx
sub r8, r9
inc r8
lea rdx, [rcx + rdi]
call sub.VCRUNTIME140.dll_memmove
cmp qword [rbp + 0x68], 0x10
lea rdx, [rbp + 0x50]
mov r8, rbx
mov qword [rbp + 0x60], rbx
cmovae rdx, qword [rbp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.140176f00
cmp qword [rbp - 0x38], rsi
je 0x14019550d
mov rax, qword [rsp + 0x60]
lea rcx, [rbp - 0x48]
cmp qword [rax], rcx
jne 0x1401954b8
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp - 0x80]
mov qword [rax], rcx
mov rax, qword [rbp - 0x68]
mov dword [rax], edx
lea rcx, [rsp + 0x48]
call fcn.1401a37c0
mov rcx, qword [rbp - 0x38]
lea rbx, [rsp + 0x48]
test al, al
cmove rbx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rdi, rsi
mov byte [rbp - 0x3c], sil
test eax, eax
mov byte [rbp - 0x47], sil
lea rcx, [rsp + 0x48]
cmove rdi, rbx
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov rax, qword [0x140fb9e70]
mov qword [rbp - 0x44], rax
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x50], rsi
test rdi, rdi
jne 0x140195551
jmp 0x140195533
lea rcx, [rsp + 0x48]
mov byte [rbp - 0x3c], sil
mov byte [rbp - 0x47], sil
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov rax, qword [0x140fb9e70]
mov qword [rbp - 0x44], rax
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x50], rsi
mov rax, qword [rsp + 0x40]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
lea edx, [r8 + 2]
lea rax, [rsp + 0x40]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rax, qword [str._SETT__n]
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], 0x10
lea rcx, [rbp + 0x70]
movdqa xmm0, xmmword [0x14039b890]
cmovae rdx, qword [rbp + 0x50]
mov r8, qword [rbp + 0x60]
mov dword [rbp + 0x70], eax
movzx eax, word [0x1403996cc]
mov word [rbp + 0x74], ax
movzx eax, byte [reloc.WS2_32.dll_ioctlsocket]
mov byte [rbp + 0x76], al
movdqu xmmword [rbp + 0x78], xmm0
mov qword [rbp + 0x88], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x77], sil
call fcn.1401a77a0
mov rbx, qword [rsp + 0x1b0]
cmp qword [rax + 0x18], 0x10
jb 0x1401955b9
mov rax, qword [rax]
mov rcx, rax
call fcn.14019bad0
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x140195602
mov rcx, qword [rbp + 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401955fd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401955fd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140384ad0
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x40], r14
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x3c], edx
lea rcx, [rsp + 0x48]
call fcn.140184730
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov rdx, qword [rbp + 0x68]
cmp rdx, 0x10
jb 0x140195680
mov rcx, qword [rbp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14019567b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14019567b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140384ad0
mov r14, qword [rsp + 0x1b8]
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.140384b70
lea r11, [rsp + 0x1a0]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret