Function at 0x1401be100
Capabilities:
Create thread
Delete file
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rdi
push r12
lea rbp, [rsp - 0xb18]
sub rsp, 0xc18
mov rax, qword [0x140fb3878]
xor rax, rsp
mov qword [rbp + 0xa70], rax
mov rdi, rcx
call fcn.140157980
mov r12d, 1
mov qword [rbp + 0x60], 8
xorps xmm0, xmm0
mov qword [rbp + 0x68], reloc.WS2_32.dll_ntohs
movups xmmword [rbp + 0x50], xmm0
movabs rax, 0x6e69622e74736574
mov byte [rbp + 0x58], 0
lea r9d, [r12 + 0x3f]
mov qword [rbp + 0x50], rax
lea r8d, [r12 + 1]
mov dword [rsp + 0x20], r12d
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x270]
call fcn.140181740
mov rax, qword [rbp + 0x270]
lea rbx, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x270], rbx
mov rax, qword [rbp + 0x270]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x26c], edx
cmp qword [rbp + 0x2f8], 0
je 0x1401be29d
lea rcx, [rbp + 0x278]
call fcn.1401a85a0
test rax, rax
jne 0x1401be1f0
mov rax, qword [rbp + 0x270]
lea edx, [r12 + 1]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x270]
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]
cmp qword [rbp + 0x68], 0x10
lea rax, [rbp + 0x50]
lea rdx, [rbp - 0x80]
cmovae rax, qword [rbp + 0x50]
lea rcx, [rbp + 0x70]
mov qword [rbp - 0x80], rax
xor r8d, r8d
mov rax, qword [rbp + 0x60]
mov qword [rbp - 0x78], rax
call fcn.140172bf0
cmp qword [rbp + 0x88], 8
lea rcx, [rbp + 0x70]
cmovae rcx, qword [rbp + 0x70]
call fcn.14038640c
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x1401bf8a6
lea rcx, [rbp + 0x70]
call fcn.1401a6c40
mov rax, qword [rbp + 0x270]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x270], rbx
mov rax, qword [rbp + 0x270]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x26c], edx
lea rcx, [rbp + 0x278]
call fcn.140184730
lea rcx, [rbp + 0x280]
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 + 0x318]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
xor bl, bl
jmp 0x1401be2f2
mov rax, qword [rbp + 0x270]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x270], rbx
mov rax, qword [rbp + 0x270]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x26c], edx
lea rcx, [rbp + 0x278]
call fcn.140184730
lea rcx, [rbp + 0x280]
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 + 0x318]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
movzx ebx, r12b
mov rdx, qword [rbp + 0x68]
cmp rdx, 0x10
jb 0x1401be330
mov rcx, qword [rbp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401be32b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401be32b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140384ad0
mov qword [rsp + 0xc10], r15
test bl, bl
je 0x1401be354
xor edx, edx
lea rcx, str.TONGA_LAUNCHER_HAS_NO_WRITE_PERMISSION_IN_THE_CURRENT_DIRECTORY_
mov r8d, 0xc00000ff
lea r9d, [rdx + 5]
call fcn.1401968a0
call fcn.14019a1b0
xor r15d, r15d
mov qword [rbp + 0x68], reloc.WS2_32.dll_ntohs
xorps xmm0, xmm0
mov qword [rbp + 0x60], r15
lea rcx, [rbp + 0x50]
movups xmmword [rbp + 0x50], xmm0
lea edx, [r15 + 0x20]
call fcn.1401a7330
movups xmm0, xmmword [0x140398788]
mov qword [rbp + 0x50], rax
lea rdx, [rbp + 0x50]
mov qword [rbp + 0x60], reloc.WS2_32.dll_recvfrom
mov qword [rbp + 0x68], 0x1f
movups xmmword [rax], xmm0
movzx ecx, byte [0x140398798]
mov byte [rax + 0x10], cl
lea rcx, [rbp + 0x70]
mov byte [rax + 0x11], r15b
call fcn.1401a7fe0
lea rbx, [0x140fabd40]
mov rdx, rax
mov rcx, rbx
call fcn.140186400
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x1401be401
mov rcx, qword [rbp + 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401be3fc
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401be447
call fcn.140384ad0
mov rdx, qword [rbp + 0x68]
movdqa xmm0, xmmword [0x14039b8a0]
mov byte [rbp + 0x70], r15b
movdqu xmmword [rbp + 0x80], xmm0
cmp rdx, 0x10
jb 0x1401be453
mov rcx, qword [rbp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401be44e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401be44e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140384ad0
movzx eax, byte [0x1403987a8]
lea rdx, [rbp + 0x50]
xorps xmm0, xmm0
mov qword [rbp + 0x60], 9
movups xmmword [rbp + 0x50], xmm0
lea rcx, [rbp + 0x70]
mov qword [rbp + 0x68], reloc.WS2_32.dll_ntohs
movsd xmm0, qword [str.Tonga.dll]
movsd qword [rbp + 0x50], xmm0
mov byte [rbp + 0x58], al
mov byte [rbp + 0x59], r15b
call fcn.1401a7fe0
mov rdx, rax
lea rcx, [0x140fabd60]
call fcn.140186400
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x1401be4db
mov rcx, qword [rbp + 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401be4d6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401be521
call fcn.140384ad0
mov rdx, qword [rbp + 0x68]
movdqa xmm0, xmmword [0x14039b8a0]
mov byte [rbp + 0x70], r15b
movdqu xmmword [rbp + 0x80], xmm0
cmp rdx, 0x10
jb 0x1401be52d
mov rcx, qword [rbp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401be528
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401be528
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140384ad0
mov qword [rsp + 0xc48], rsi
call fcn.1401acfa0
lea rsi, [0x140fabd80]
test al, al
jne 0x1401be596
cmp rsi, rbx
je 0x1401be56c
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
mov rdx, rbx
mov r8, qword [0x140fabd50]
mov rcx, rsi
cmovae rdx, qword [0x140fabd40]
call fcn.1401a79b0
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
lea rdx, [0x140fabd60]
mov r8, qword [0x140fabd70]
lea rcx, [0x140fabda0]
cmovae rdx, qword [0x140fabd60]
call fcn.1401a79b0
lea rcx, str.Tonga.dll.bak
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
lea rcx, str.TONGALauncher.exe.bak
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
lea rcx, str.Tonga.dll.tmp
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
lea rcx, str.TONGALauncher.exe.tmp
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
mov rdx, rsi
mov r8, qword [0x140fabd50]
mov rcx, rbx
cmovae rdx, qword [0x140fabd80]
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
cmovae rcx, qword [0x140fabd40]
cmp r8, qword [0x140fabd90]
jne 0x1401be609
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1401be621
xor edx, edx
lea rcx, str._A_NEW_LAUNCHER_VERSION_IS_AVAILABLE_
mov r8d, 0xc0007832
lea r9d, [rdx + 5]
call fcn.1401968a0
lea rax, [0x14019ee90]
mov dword [rbp - 0x30], 0x50
xor ecx, ecx
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x2c], 0x40
mov qword [rbp - 0x20], r15
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edx, 0x65
mov rcx, rdi
mov qword [rbp - 0x18], rax
call qword [sym.imp.USER32.dll_LoadIconA]
xorps xmm0, xmm0
mov qword [rbp - 8], r15
lea rbx, str.TONGA__ALPHA_1.1.10_
movdqa xmmword [rbp], xmm0
lea rcx, [rbp - 0x30]
mov qword [rbp - 0x10], rax
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], r15
call qword [sym.imp.USER32.dll_RegisterClassExW]
mov rax, qword [rbp - 0x18]
mov r9d, 0xca0000
mov rdx, qword [rbp + 0x10]
mov r8, rbx
mov qword [rsp + 0x58], r15
xor ecx, ecx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], 0x12c
mov dword [rsp + 0x30], 0x1f4
mov dword [rsp + 0x28], 0x64
mov dword [rsp + 0x20], 0x64
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, 0x20
mov qword [0x140fb7dd0], rax
mov rbx, rax
call sub.d3d9.dll_Direct3DCreate9
mov qword [0x140fb8580], rax
mov rcx, rax
test rax, rax
je 0x1401bf84c
lea rdx, [0x140fb8588]
mov qword [0x140fb8590], r15
mov qword [rsp + 0x30], rdx
mov r9, rbx
lea rdx, [0x140fb8590]
mov qword [0x140fb859c], r15
mov qword [rsp + 0x28], rdx
mov r8d, r12d
mov dword [0x140fb85a4], r15d
xor edx, edx
mov qword [0x140fb85ac], r15
mov dword [0x140fb85b4], r15d
mov qword [0x140fb85c4], r15
mov dword [0x140fb85b8], r12d
mov dword [0x140fb85a8], r12d
mov dword [0x140fb8598], r15d
mov dword [0x140fb85bc], r12d
mov dword [0x140fb85c0], 0x50
mov dword [0x140fb85cc], r12d
mov rax, qword [rax]
mov dword [rsp + 0x20], 0x40
call qword [rax + 0x80]
test eax, eax
js 0x1401bf845
mov rcx, qword [0x140fb7dd0]
lea r8, [rbp - 0x70]
mov qword [rsp + 0xc50], r13
mov r9d, 4
mov qword [rsp + 0xc58], r14
movaps xmmword [rsp + 0xc00], xmm6
movaps xmmword [rsp + 0xbf0], xmm7
movaps xmmword [rsp + 0xbe0], xmm8
lea edx, [r9 + 0x10]
movaps xmmword [rsp + 0xbd0], xmm9
movaps xmmword [rsp + 0xbc0], xmm10
movaps xmmword [rsp + 0xbb0], xmm11
movaps xmmword [rsp + 0xba0], xmm12
movaps xmmword [rsp + 0xb90], xmm13
movaps xmmword [rsp + 0xb80], xmm14
mov dword [rbp - 0x70], r12d
call qword [sym.imp.dwmapi.dll_DwmSetWindowAttribute]
mov rcx, qword [0x140fb7dd0]
lea r8, [rsp + 0x68]
mov r9d, 4
mov dword [rsp + 0x68], 0x1f1f1f
lea edx, [r9 + 0x1e]
call qword [sym.imp.dwmapi.dll_DwmSetWindowAttribute]
mov rcx, qword [0x140fb7dd0]
lea r8, [rsp + 0x68]
mov r9d, 4
lea edx, [r9 + 0x1f]
call qword [sym.imp.dwmapi.dll_DwmSetWindowAttribute]
mov qword [rsp + 0x30], 2
lea rcx, str.1.89.8
mov qword [rsp + 0x28], setsockopt
mov edx, 0x37c0
mov r9d, 8
mov qword [rsp + 0x20], reloc.WS2_32.dll_recv
mov r8d, 0x440
call fcn.14012fde0
xor ecx, ecx
call fcn.14012fab0
call fcn.140133160
lea rcx, [rbp + 0x150]
mov r14, rax
or dword [rax], 3
mov qword [rax + 0x18], r15
mov qword [rax + 0x20], r15
call fcn.140146910
lea rcx, [rbp + 0x1e0]
mov byte [rbp + 0x15c], r15b
call fcn.140146910
lea rcx, [rbp + 0xc0]
mov byte [rbp + 0x1ec], r15b
call fcn.140146910
movss xmm6, dword [0x140391c44]
lea rax, [rbp + 0x150]
mov byte [rbp + 0x108], r12b
lea rdx, [0x1405316b0]
mov byte [rbp + 0xe0], r12b
movaps xmm3, xmm6
mov dword [rbp + 0x100], 0x41900000
mov r8d, 0xedfc
mov byte [rbp + 0xcc], r15b
mov rcx, qword [r14 + 0x30]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.140147a10
movss xmm3, dword [0x140391c3c]
lea rdx, [0x1405652d0]
mov qword [0x140fb7dd8], rax
mov r8d, 0x3577c
mov rcx, qword [r14 + 0x30]
lea rax, [0x140399f2c]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
call fcn.140147a10
mov qword [0x140fb7de8], rax
mov rbx, qword [r14 + 0x30]
mov rcx, rbx
call fcn.140149fe0
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm6
lea rdx, [0x14059aa50]
mov r8d, 0xa108c8
mov rcx, rbx
call fcn.140147a10
movss xmm3, dword [0x140391c38]
lea rax, [rbp + 0x1e0]
mov rcx, qword [r14 + 0x30]
lea rdx, [0x1405404b0]
mov qword [rsp + 0x28], r15
mov r8d, 0x24e1c
mov qword [rsp + 0x20], rax
call fcn.140147a10
xor ecx, ecx
mov qword [0x140fb7df0], rax
call fcn.14014e760
call fcn.140133a10
mov dword [rax + 0x14], r15d
mov dword [rax + 0x44], 0x40000000
mov dword [rax + 0x22c], 0x3ca3d70a
mov qword [rax + 0x230], 0x3ea872b0
mov dword [rax + 0x238], 0x3f4ccccd
mov dword [rax + 0x23c], 0x3ca3d70a
mov qword [rax + 0x240], 0x3ea872b0
mov dword [rax + 0x248], 0x3f800000
mov dword [rax + 0x24c], 0x3ca3d70a
mov qword [rax + 0x250], 0x3ea872b0
mov dword [rax + 0x258], 0x3f000000
mov dword [rax + 0x20c], 0x3ca3d70a
mov qword [rax + 0x210], 0x3ea872b0
mov dword [rax + 0x218], 0x3f800000
mov dword [rax + 0x21c], 0x3ca3d70a
mov qword [rax + 0x220], 0x3ea872b0
mov dword [rax + 0x228], 0x3f000000
mov dword [rax + 0x1fc], 0x3ca3d70a
mov qword [rax + 0x200], 0x3ea872b0
mov dword [rax + 0x208], 0x3f800000
mov dword [rax + 0x14c], 0x3ca3d70a
mov qword [rax + 0x150], 0x3ea872b0
mov dword [rax + 0x158], 0x3f000000
mov dword [rax + 0x15c], 0x3ca3d70a
mov qword [rax + 0x160], 0x3ea872b0
mov dword [rax + 0x168], 0x3f4ccccd
mov dword [rax + 0x16c], 0x3ca3d70a
mov qword [rax + 0x170], 0x3ea872b0
mov dword [rax + 0x178], 0x3f000000
mov rcx, qword [0x140fb7dd0]
call fcn.140157ab0
mov rcx, qword [0x140fb8588]
call fcn.140156c50
mov rcx, qword [0x140fb8588]
lea r9, [rsp + 0x60]
mov r8d, 0x3d146
lea rdx, [0x140474ca0]
call sub.d3dx9_43.dll_D3DXCreateTextureFromFileInMemory
test eax, eax
je 0x1401beb34
mov rax, r15
jmp 0x1401beb5f
mov rcx, qword [rsp + 0x60]
lea r8, [rbp + 0x50]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x88]
mov eax, dword [rbp + 0x68]
mov dword [0x140fb7df8], eax
mov eax, dword [rbp + 0x6c]
mov dword [0x140fb7dfc], eax
mov rax, qword [rsp + 0x60]
mov rcx, qword [0x140fb8588]
lea r9, [rsp + 0x60]
mov r8d, 0x4cd7
mov qword [0x140fb7dc0], rax
lea rdx, [0x1404b1df0]
call sub.d3dx9_43.dll_D3DXCreateTextureFromFileInMemory
test eax, eax
je 0x1401beb8d
mov rax, r15
jmp 0x1401bebb8
mov rcx, qword [rsp + 0x60]
lea r8, [rbp + 0x50]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x88]
mov eax, dword [rbp + 0x68]
mov dword [0x140fb7df8], eax
mov eax, dword [rbp + 0x6c]
mov dword [0x140fb7dfc], eax
mov rax, qword [rsp + 0x60]
mov qword [0x140fb7db8], rax
lea rdx, str.SOFTWAREEA_GamesBattlefield_V
lea rax, [rsp + 0x70]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rcx, 0xffffffff80000002
xor dil, dil
mov esi, 0xffffffff
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x1401becf8
cmp byte [0x140fb5da8], dil
mov dword [rsp + 0x78], 0x800
jne 0x1401beced
mov rcx, qword [rsp + 0x70]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x60]
lea rax, [rbp + 0x270]
xor r8d, r8d
lea rdx, str.Install_Dir
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x1401beced
cmp dword [rsp + 0x60], r12d
jne 0x1401beced
lea rax, [rbp + 0x270]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], dil
jne 0x1401bec60
lea rbx, [0x140fabd20]
mov rcx, rbx
lea rdx, [rbp + 0x270]
call fcn.1401a79b0
mov rdx, qword [reloc.WS2_32.dll_ntohs]
mov rcx, qword [0x140fabd30]
mov rax, rdx
sub rax, rcx
cmp rax, 7
jb 0x1401becce
cmp rdx, 0x10
lea rax, [rcx + 7]
mov r8d, 7
mov qword [0x140fabd30], rax
cmovae rbx, qword [0x140fabd20]
lea rdx, str.bfv.exe
add rbx, rcx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 7], dil
jmp 0x1401beced
xor r8d, r8d
mov qword [rsp + 0x20], 7
lea r9, str.bfv.exe
mov rcx, rbx
lea edx, [r8 + 7]
call fcn.140177760
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.140193e80
call fcn.1401985c0
movss xmm8, dword [0x140395ffc]
lea r13, [0x140fac060]
movss xmm7, dword [0x140391bfc]
mov ebx, 0x284
movss xmm6, dword [0x140391c70]
movss xmm9, dword [0x140391c50]
movss xmm10, dword [0x140391c40]
movss xmm11, dword [0x140391c1c]
movss xmm12, dword [0x140391c20]
movss xmm13, dword [0x14039b7e8]
movss xmm14, dword [0x14039b854]
nop dword [rax]
call fcn.140133160
cmp byte [0x140fb5dad], r15b
mov ecx, dword [0x140fb7dc8]
jne 0x1401bed86
cmp ecx, 9
ja 0x1401bee0e
bt ebx, ecx
jae 0x1401bee0e
test ecx, ecx
je 0x1401bee0e
cmp ecx, 9
jne 0x1401beda9
mov dword [0x14047421c], 0x299
mov dword [0x140474408], 0x2b2
jmp 0x1401bee22
cmp ecx, r12d
jne 0x1401bedc4
mov dword [0x14047421c], 0x320
mov dword [0x140474408], 0x2a8
jmp 0x1401bee22
cmp ecx, 2
je 0x1401bedf8
lea eax, [rcx - 4]
test eax, 0xfffffffb
je 0x1401bee0e
lea eax, [rcx - 3]
test eax, 0xfffffffd
je 0x1401bedf8
cmp ecx, 7
jne 0x1401bee22
mov dword [0x14047421c], 0x3e8
mov dword [0x140474408], 0x348
jmp 0x1401bee22
mov dword [0x14047421c], 0x320
mov dword [0x140474408], 0x258
jmp 0x1401bee22
mov dword [0x140474408], 0x12c
mov dword [0x14047421c], 0x226
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov rcx, rax
lea rdx, [rbp + 0x70]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [rbp + 0x78]
mov ecx, dword [0x14047421c]
mov eax, dword [0x140474408]
mov byte [0x140fb5daa], r15b
cmp edx, ecx
jge 0x1401bee67
add eax, 0xa
mov dword [0x14047421c], edx
mov dword [0x140474408], eax
mov ecx, edx
mov byte [0x140fb5daa], r12b
mov edx, dword [rbp + 0x7c]
cmp edx, eax
jge 0x1401bee87
add ecx, 0xa
mov byte [0x140fb5daa], r12b
lea eax, [rdx - 0x64]
mov dword [0x14047421c], ecx
mov dword [0x140474408], eax
mov dword [rsp + 0x30], 2
mov r9d, 0x64
mov dword [rsp + 0x28], eax
xor edx, edx
mov dword [rsp + 0x20], ecx
mov r8d, r9d
mov rcx, qword [0x140fb7dd0]
call qword [sym.imp.USER32.dll_SetWindowPos]
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
lea rcx, [rbp + 0x20]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x1401bef14
nop word [rax + rax]
lea rcx, [rbp + 0x20]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x20]
call qword [sym.imp.USER32.dll_DispatchMessageA]
cmp dword [rbp + 0x28], 0x12
lea rcx, [rbp + 0x20]
movzx edi, dil
cmove edi, r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x1401beed0
test dil, dil
jne 0x1401bf745
call fcn.140156d60
call fcn.140157c50
call fcn.14013abe0
mov rcx, qword [0x140fb7dd0]
lea rdx, [rbp + 0x90]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xb0], rax
movups xmmword [rbp + 0xa0], xmm0
mov dword [rbp + 0xb8], eax
call qword [sym.imp.USER32.dll_GetWindowPlacement]
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140140b00
lea r8, [rsp + 0x70]
mov qword [rsp + 0x70], r15
xor edx, edx
mov qword [rsp + 0x60], r15
lea rcx, [rsp + 0x60]
call fcn.140140aa0
mov r8d, dword [0x140fac160]
lea rcx, str.TONGA__BETA_1.1.8_
xor edx, edx
call fcn.14012b630
cmp byte [0x140fb5dac], r15b
jne 0x1401bf04d
cmp dword [0x140fb7dc8], 9
je 0x1401bf058
movaps xmm0, xmm8
call fcn.140140e20
movaps xmm0, xmmword [0x14039b980]
lea rdx, [rbp + 0x50]
xor ecx, ecx
movups xmmword [rbp + 0x50], xmm0
call fcn.14013c860
lea rcx, str.TONGA___PRIVATE_BFV_SERVERS
call fcn.14016ecd0
mov ecx, r12d
call fcn.14013c080
movaps xmm0, xmm7
call fcn.140140e20
call fcn.14016c8b0
lea rcx, str.SOLDIER__AT_EASE__nFORGE_YOUR_LEGACY_IN_THE_FIRES_OF_BATTLE._n_n
call fcn.14016ecd0
lea rdx, [rsp + 0x78]
mov qword [rsp + 0x78], r15
lea rcx, str._START_TONGA
call fcn.1401675a0
test al, al
je 0x1401bf019
mov byte [0x140fb5dac], r12b
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.14013f900
lea rdx, [rbp - 0x50]
mov qword [rbp - 0x50], r15
lea rcx, str._SHOW_CREDITS
call fcn.1401675a0
test al, al
je 0x1401bf046
mov dword [0x140fb7dc8], 9
call fcn.14019bff0
jmp 0x1401bf05d
mov ebx, dword [0x140fb7dc8]
cmp ebx, 9
jne 0x1401bf063
call fcn.140189eb0
mov ebx, dword [0x140fb7dc8]
cmp byte [0x140fb5dac], r15b
je 0x1401bf2db
cmp byte [0x140fb5dad], r15b
jne 0x1401bf2db
cmp ebx, 0xa
ja 0x1401bf090
mov eax, 0x484
bt eax, ebx
jb 0x1401bf2db
cmp byte [0x140fb5dab], r15b
je 0x1401bf1f9
movaps xmm0, xmm8
call fcn.140140e20
movaps xmm0, xmmword [0x14039b980]
lea rdx, [rbp + 0x50]
xor ecx, ecx
movups xmmword [rbp + 0x50], xmm0
call fcn.14013c860
lea rcx, str.DOWNLOADING_UPDATE
call fcn.14016ecd0
mov ecx, r12d
call fcn.14013c080
call fcn.14016c8b0
movaps xmm0, xmm7
call fcn.140140e20
lea rcx, str.DOWNLOADING_FILE:
call fcn.14016ecd0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.14013f900
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
lea rcx, [0x140fabe40]
cmovae rcx, qword [0x140fabe40]
call fcn.14016ecd0
lea rcx, str.PROGRESS
call fcn.14016ecd0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.14013f900
mov edx, dword [0x140fb7db4]
lea rcx, [rbp + 0x50]
call fcn.1401bbe10
cmp qword [rax + 0x18], 0x10
jb 0x1401bf140
mov rax, qword [rax]
mov rcx, rax
call fcn.14016ecd0
mov rdx, qword [rbp + 0x68]
cmp rdx, 0x10
jb 0x1401bf183
mov rcx, qword [rbp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401bf17e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401bf830
call fcn.140384ad0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.14013f900
xor edx, edx
lea rcx, [0x1403998e4]
call fcn.14016f240
call fcn.140133c20
subss xmm0, xmm9
mov dword [rbp - 0x48], 0x41a00000
lea rcx, [rbp - 0x48]
movss dword [rbp - 0x44], xmm0
call fcn.140140300
movaps xmm0, xmmword [0x140391cd0]
lea r9, [rbp + 0x50]
mov qword [rsp + 0x28], 6
lea rcx, str.Loading
movaps xmm2, xmm12
movss dword [rsp + 0x20], xmm11
movaps xmm1, xmm10
movups xmmword [rbp + 0x50], xmm0
call fcn.14019d540
call fcn.14016c8b0
mov ebx, dword [0x140fb7dc8]
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
lea rdx, [0x140fabda0]
mov r8, qword [0x140fabd70]
lea rcx, [0x140fabd60]
cmovae rdx, qword [0x140fabda0]
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
cmovae rcx, qword [0x140fabd60]
cmp r8, qword [0x140fabdb0]
jne 0x1401bf2d1
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401bf2d1
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
lea rdx, [0x140fabd80]
mov r8, qword [0x140fabd50]
lea rcx, [0x140fabd40]
cmovae rdx, qword [0x140fabd80]
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
cmovae rcx, qword [0x140fabd40]
cmp r8, qword [0x140fabd90]
jne 0x1401bf2d1
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401bf2d1
cmp ebx, 6
je 0x1401bf29e
call fcn.1401956b0
jmp 0x1401bf5ef
movaps xmm0, xmm8
call fcn.140140e20
lea rcx, str.WELCOME_TO_TONGA
call fcn.14016ecd0
movaps xmm0, xmm7
call fcn.140140e20
call fcn.14016c8b0
lea rcx, str.CONNECTING_TO_GAME._n_n
call fcn.14016ecd0
jmp 0x1401bf5ef
call fcn.140195ac0
jmp 0x1401bf5ef
test ebx, ebx
jne 0x1401bf2ea
call fcn.14018dd30
mov ebx, dword [0x140fb7dc8]
cmp ebx, r12d
jne 0x1401bf2fa
call fcn.14018aae0
mov ebx, dword [0x140fb7dc8]
cmp ebx, 2
jne 0x1401bf3b3
call fcn.140133160
cvttss2si ecx, dword [rax + 0xd0]
mov eax, esi
inc esi
imul edx, ecx, 0xf
cmp eax, edx
jl 0x1401bf3a8
lea ecx, [rbx + 6]
call fcn.140384e20
test rax, rax
je 0x1401bf338
lea rcx, [fcn.140193e80]
mov qword [rax], rcx
jmp 0x1401bf33b
mov rax, r15
lea rcx, [rbp - 0x58]
mov r9, rax
mov qword [rsp + 0x28], rcx
lea r8, [0x140177160]
xor ecx, ecx
mov dword [rsp + 0x20], r15d
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x60], rax
test rax, rax
je 0x1401bf8c4
cmp dword [rbp - 0x58], r15d
je 0x1401bf8bb
movaps xmm0, xmmword [rbp - 0x60]
lea rcx, [rbp + 0x50]
movdqa xmmword [rbp + 0x50], xmm0
call sub.MSVCP140.dll__Thrd_detach
test eax, eax
jne 0x1401bf8bb
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x60], xmm0
call fcn.1401985c0
mov esi, r15d
cmp dword [rbp - 0x58], r15d
jne 0x1401bf837
call fcn.14018e570
mov ebx, dword [0x140fb7dc8]
cmp ebx, 0xa
jne 0x1401bf507
movaps xmm0, xmm13
call fcn.140140e20
movaps xmm0, xmmword [0x14039b980]
lea rdx, [rbp + 0x50]
xor ecx, ecx
movups xmmword [rbp + 0x50], xmm0
call fcn.14013c860
lea rcx, str._FIND_LOCAL_SERVER_BY_IP
call fcn.14016ecd0
mov ecx, r12d
call fcn.14013c080
movaps xmm0, xmm7
call fcn.140140e20
call fcn.14016c8b0
lea rcx, str.ENTER_THE_IP_AND_WEB_SERVER_PORT_OF_THE_SERVER_YOU_WANT_nTO_JOIN_BELOW_AND_PRESS__FIND_TO_CHECK_IF_ITS_ONLINE
call fcn.14016ecd0
call fcn.14016c8b0
lea rcx, str.IP_AND_PORT:
call fcn.14016ecd0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.14013f900
xor r9d, r9d
mov qword [rsp + 0x28], r15
mov r8d, 0xff
mov qword [rsp + 0x20], r15
mov rdx, r13
lea rcx, str.IP_AND_PORT
call fcn.140169070
call fcn.14016c8b0
movaps xmm0, xmm14
call fcn.140135200
lea rdx, [rbp - 0x40]
mov qword [rbp - 0x40], r15
lea rcx, str._FIND999999
call fcn.1401675a0
test al, al
je 0x1401bf4cf
xorps xmm0, xmm0
mov qword [rbp + 0x60], r15
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x68], r15
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r8 + r13], r15b
jne 0x1401bf482
mov rdx, r13
lea rcx, [rbp + 0x50]
call fcn.140172b30
lea rcx, [rbp + 0x50]
call fcn.140196d60
test al, al
je 0x1401bf4b7
mov dword [0x140474028], r15d
mov dword [0x140fb7dc8], 7
jmp 0x1401bf4cf
xor edx, edx
lea rcx, str._THE_SPECIFIED_SERVER_DID_NOT_RESPOND.
mov r8d, 0xc00000ff
lea r9d, [rdx + 5]
call fcn.1401968a0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.14013f900
lea rdx, [rbp - 0x38]
mov qword [rbp - 0x38], r15
lea rcx, str._BACK
call fcn.1401675a0
test al, al
je 0x1401bf501
mov dword [0x140fb7dc8], 2
jmp 0x1401bf5ef
mov ebx, dword [0x140fb7dc8]
lea eax, [rbx - 7]
cmp eax, r12d
ja 0x1401bf5c5
call fcn.140133160
cvttss2si ecx, dword [rax + 0xd0]
mov eax, esi
inc esi
imul edx, ecx, 0xf
cmp eax, edx
jl 0x1401bf5ba
mov ecx, 8
call fcn.140384e20
test rax, rax
je 0x1401bf54a
lea rcx, [fcn.140193e80]
mov qword [rax], rcx
jmp 0x1401bf54d
mov rax, r15
lea rcx, [rbp - 0x78]
mov r9, rax
mov qword [rsp + 0x28], rcx
lea r8, [0x140177160]
xor ecx, ecx
mov dword [rsp + 0x20], r15d
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x1401bf897
cmp dword [rbp - 0x78], r15d
je 0x1401bf8d3
movaps xmm0, xmmword [rbp - 0x80]
lea rcx, [rbp + 0x50]
movdqa xmmword [rbp + 0x50], xmm0
call sub.MSVCP140.dll__Thrd_detach
test eax, eax
jne 0x1401bf8d3
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x80], xmm0
call fcn.1401985c0
mov esi, r15d
cmp dword [rbp - 0x78], r15d
jne 0x1401bf83e
call fcn.1401906f0
mov ebx, dword [0x140fb7dc8]
cmp ebx, 4
jne 0x1401bf5d5
call fcn.14018c7f0
mov ebx, dword [0x140fb7dc8]
cmp ebx, 3
jne 0x1401bf5e5
call fcn.140195190
mov ebx, dword [0x140fb7dc8]
cmp ebx, 5
jne 0x1401bf5ef
call fcn.14018cd80
call fcn.14019bc20
call fcn.1401306f0
call fcn.140130ec0
mov rcx, qword [0x140fb8588]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 7]
call qword [rax + 0x1c8]
mov rcx, qword [0x140fb8588]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 0x1b]
call qword [rax + 0x1c8]
mov rcx, qword [0x140fb8588]
xor r8d, r8d
mov edx, 0xae
mov rax, qword [rcx]
call qword [rax + 0x1c8]
mov rcx, qword [0x140fb8588]
mov r9d, 3
mov dword [rsp + 0x30], r15d
xor r8d, r8d
movss dword [rsp + 0x28], xmm7
xor edx, edx
mov dword [rsp + 0x20], 0xff728c99
mov rax, qword [rcx]
call qword [rax + 0x158]
mov rcx, qword [0x140fb8588]
mov rax, qword [rcx]
call qword [rax + 0x148]
test eax, eax
js 0x1401bf6a8
call fcn.14013ca70
call fcn.140132c70
mov rcx, rax
call fcn.140156dc0
mov rcx, qword [0x140fb8588]
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [0x140fb8588]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r15
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x88]
cmp byte [0x140fb9e6c], r15b
mov ebx, eax
jne 0x1401bf6f6
mov rcx, qword [0x140fb7dd0]
mov edx, 0xa
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [0x140fb7dd0]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov byte [0x140fb9e6c], r12b
cmp ebx, 0x88760868
mov ebx, 0x284
jne 0x1401bed60
mov rcx, qword [0x140fb8588]
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp eax, 0x88760869
jne 0x1401bed60
call fcn.140156cd0
mov rcx, qword [0x140fb8588]
lea rdx, [0x140fb8590]
mov rax, qword [rcx]
call qword [rax + 0x80]
call fcn.140156a00
jmp 0x1401bed60
call fcn.1401577f0
call fcn.140157f60
xor ecx, ecx
call fcn.140130670
mov rcx, qword [0x140fb8588]
test rcx, rcx
je 0x1401bf76f
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [0x140fb8588], r15
mov rcx, qword [0x140fb8580]
test rcx, rcx
je 0x1401bf788
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [0x140fb8580], r15
mov rcx, qword [0x140fb7dd0]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.USER32.dll_UnregisterClassW]
movaps xmm13, xmmword [rsp + 0xb90]
xor eax, eax
movaps xmm12, xmmword [rsp + 0xba0]
movaps xmm11, xmmword [rsp + 0xbb0]
movaps xmm10, xmmword [rsp + 0xbc0]
movaps xmm9, xmmword [rsp + 0xbd0]
movaps xmm8, xmmword [rsp + 0xbe0]
movaps xmm7, xmmword [rsp + 0xbf0]
movaps xmm6, xmmword [rsp + 0xc00]
mov r13, qword [rsp + 0xc50]
mov r14, qword [rsp + 0xc58]
movaps xmm14, xmmword [rsp + 0xb80]
mov rsi, qword [rsp + 0xc48]
mov r15, qword [rsp + 0xc10]
mov rcx, qword [rbp + 0xa70]
xor rcx, rsp
call fcn.140384b70
add rsp, 0xc18
pop r12
pop rdi
pop rbx
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3
mov rcx, qword [0x140fb8580]
mov rdx, qword [0x140fb8588]
test rdx, rdx
je 0x1401bf86f
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x140fb8580]
mov qword [0x140fb8588], r15
test rcx, rcx
je 0x1401bf881
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [0x140fb8580], r15
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.USER32.dll_UnregisterClassW]
mov eax, r12d
jmp 0x1401bf804
mov ecx, 6
mov dword [rbp - 0x78], r15d
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
shr rdx, 0x20
lea r8, [rbp + 0x70]
lea rcx, [0x14039871c]
call fcn.1401a6850
int3
mov ecx, r12d
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
mov ecx, 6
mov dword [rbp - 0x58], r15d
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
mov ecx, r12d
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3