Function at 0x48c140
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48f7f5
mov eax, dword fs:[0]
push eax
sub esp, 0x13c
mov eax, dword [0x4b2740]
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
xorps xmm0, xmm0
mov dword [ebp - 4], 0
push 0x20
movq qword [ebp - 0x30], xmm0
mov dword [ebp - 0x28], 0
call fcn.0048d4a4
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 1
test esi, esi
je 0x48c1be
xorps xmm0, xmm0
mov ecx, esi
movups xmmword [esi], xmm0
movups xmmword [esi + 0x10], xmm0
call fcn.00485c70
lea eax, [ebp - 0x30]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x18], eax
jmp 0x48c1c0
xor esi, esi
mov dword [ebp - 0x30], esi
push 1
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00484850
push 0x64
mov byte [ebp - 4], 3
call fcn.0048d4a4
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 4
test esi, esi
je 0x48c20c
push 0x64
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x30]
mov ecx, esi
push 0
push 0xffffffffffffffff
push eax
call fcn.00485a60
mov esi, eax
jmp 0x48c20e
xor esi, esi
mov dword [ebp - 0x1c], esi
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 5
push 0
push eax
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
call fcn.00483ba0
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x13c]
add esp, 8
push esi
push eax
call fcn.00488080
mov dword [ebp - 0x28], esi
push 0x60
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 6
push 0
push eax
call sub.VCRUNTIME140.dll_memset
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0
push 0
push eax
mov dword [ebp - 0x1c], 0
call fcn.00483b80
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x30]
add esp, 0x14
push eax
push 0x483430
lea eax, [ebp - 0x20]
push eax
call fcn.00489010
mov edi, eax
mov dword [ebp - 0xb8], 2
xor ecx, ecx
mov dword [ebp - 0xd8], edi
lea eax, [ebp - 0x30]
mov byte [ebp - 0xb4], cl
xorps xmm0, xmm0
mov dword [ebp - 0x90], eax
movups xmmword [ebp - 0xb0], xmm0
lea eax, [ebp - 0x94]
mov dword [ebp - 0x98], ecx
lea esi, [edi + 0x28]
movq qword [ebp - 0xa0], xmm0
push esi
mov dword [ebp - 0xb0], 2
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x80], 0x4a8aec
mov dword [ebp - 0x88], 0x4a8afc
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x7c], 0x4a8a98
mov dword [ebp - 0xd4], 0xffffffff
mov byte [ebp - 0xd0], cl
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x40]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], 0
mov eax, dword [edi + 0x40]
test eax, eax
je 0x48c34a
lea ecx, [ebp - 0xd4]
mov dword [eax + 0x18], ecx
lea eax, [ebp - 0xd4]
push esi
mov dword [edi + 0x40], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 7
push str.127.0.0.1
push eax
call fcn.004899f0
add esp, 8
mov esi, eax
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
movlpd qword [ebp - 0x70], xmm0
movlpd qword [ebp - 0x68], xmm0
cmp dword [esi], 0
mov byte [ebp - 4], 8
push 0x6d61
jne 0x48c3c7
mov eax, 2
mov word [ebp - 0x78], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x76], ax
cmp dword [esi], 0
jne 0x48cd09
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x74], eax
jmp 0x48c3f8
mov eax, 0x17
mov word [ebp - 0x78], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x76], ax
mov dword [ebp - 0x74], 0
cmp dword [esi], 1
jne 0x48cd1a
movups xmm0, xmmword [esi + 8]
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x60], eax
movups xmmword [ebp - 0x70], xmm0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0xd8]
call fcn.00487cb0
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
push str.Hello__server_
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x5c], xmm0
call fcn.00482910
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 9
test ecx, ecx
je 0x48c447
cmp dword [ebp - 0x48], 0xf
lea eax, [ebp - 0x5c]
cmova eax, dword [ebp - 0x5c]
jmp 0x48c449
xor eax, eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0xd8]
push eax
push 0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x24], 0x48c040
push eax
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ecx + 0x14]
call fcn.00482f80
push 0x18
call fcn.0048d4a4
mov edi, eax
add esp, 4
mov dword [ebp - 0x1c], edi
mov byte [ebp - 4], 0xa
test edi, edi
je 0x48c4f2
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov dword [edi], vtable.std::_Ref_count_obj2_class_std::vector_char__class_std::allocator_char___.0
push 0x400
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.0048d4a4
add esp, 4
mov dword [edi + 0xc], eax
add eax, 0x400
mov dword [edi + 0x14], eax
mov eax, dword [edi + 0xc]
push 0x400
push 0
push eax
lea esi, [eax + 0x400]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [edi + 0x10], esi
jmp 0x48c4f4
xor edi, edi
xorps xmm0, xmm0
lea edx, [edi + 0xc]
movlpd qword [ebp - 0x20], xmm0
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x44], 0x48a130
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
test edi, edi
je 0x48c522
lock inc dword [edi + 4]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], edi
mov ecx, dword [edx]
mov eax, 0
mov edx, dword [edx + 4]
sub edx, ecx
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x138], edx
cmovne eax, ecx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x44]
push eax
push 0
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ecx + 0x14]
call fcn.00482d10
mov ecx, dword [ebp - 0x3c]
or esi, 0xffffffff
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x48c59f
mov eax, esi
lock xadd dword [ecx + 4], eax
jne 0x48c59f
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x24]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x48c59f
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x3c]
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0
push eax
movq qword [ebp - 0x3c], xmm0
call fcn.0048a8d0
test byte [ebp - 0x34], 1
mov dword [ebp - 0x144], str.C:Userspc_source_reposRebirth_Launcherpackages_boost.1.84.0lib_nativeinclude_boost_asioimplio_context.ipp
mov dword [ebp - 0x140], 0x4a8434
mov dword [ebp - 0x13c], 0x41
mov dword [ebp - 0x138], 0x18
je 0x48c601
cmp dword [ebp - 0x34], 1
jne 0x48cd2b
cmp dword [ebp - 0x3c], 0
setne al
test al, al
jne 0x48cd2b
test edi, edi
je 0x48c624
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x48c624
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x48c624
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [ebp - 0x48]
mov byte [ebp - 4], 7
cmp ecx, 0xf
jbe 0x48c65e
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x48c654
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x48c654
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0048cd8c
add esp, 8
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
call fcn.00485e60
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 0xd
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x48c69e
nop dword [eax]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x48c690
or eax, 0xffffffff
lock xadd dword [0x4b4624], eax
dec eax
jne 0x48c6b2
call dword [sym.imp.WS2_32.dll_WSACleanup]
lea ecx, [ebp - 0x30]
call fcn.00486290
push 0
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x134], 0x30
mov dword [ebp - 0x130], 0x40
mov dword [ebp - 0x12c], 0x486b10
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x120], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x134]
mov dword [ebp - 0x10c], str.ImGui_Example
push eax
movups xmmword [ebp - 0x11c], xmm0
mov dword [ebp - 0x108], 0
call dword [sym.imp.USER32.dll_RegisterClassExW]
push 0
push dword [ebp - 0x120]
push 0
push 0
push 0x320
push 0x500
push 0x64
push 0x64
push 0xcf0000
push str.Dear_ImGui_DirectX9_Example
push dword [ebp - 0x10c]
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov esi, eax
push 0x20
mov dword [ebp - 0x1c], esi
call sub.d3d9.dll_Direct3DCreate9
mov ecx, eax
mov dword [0x4b45d4], ecx
test ecx, ecx
je 0x48cca2
push 0x4b45d8
push 0x4b45e4
push 0x40
xorps xmm0, xmm0
mov dword [0x4b45f8], 0
push esi
push 1
movlpd qword [0x4b45e4], xmm0
movlpd qword [0x4b45f0], xmm0
mov dword [0x4b4600], 0
movlpd qword [0x4b4610], xmm0
mov dword [0x4b4604], 1
mov dword [0x4b45fc], 1
mov dword [0x4b45ec], 0
mov dword [0x4b4608], 1
mov dword [0x4b460c], 0x50
mov dword [0x4b4618], 1
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x40]
test eax, eax
js 0x48cc9c
push 0xa
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
push 2
push 0x14
push 0x10
push 8
push 0x448
push 0x38a0
push str.1.90.4
call fcn.00409f80
push 0
call fcn.004097e0
call fcn.0040f9c0
push 0
mov dword [ebp - 0x138], eax
or dword [eax], 3
call fcn.0044d560
push esi
call fcn.00457340
push dword [0x4b45d8]
call fcn.00456860
movaps xmm0, xmmword [0x4a8b90]
add esp, 0x2c
mov edi, dword [sym.imp.USER32.dll_PeekMessageA]
xor al, al
mov byte [ebp - 0x16], 1
mov byte [ebp - 0x15], 0
movups xmmword [ebp - 0x104], xmm0
mov dword [ebp - 0x24], eax
mov esi, dword [sym.imp.USER32.dll_TranslateMessage]
push 1
push 0
push 0
push 0
lea eax, [ebp - 0xf4]
push eax
call edi
test eax, eax
je 0x48c8eb
nop dword [eax]
lea eax, [ebp - 0xf4]
push eax
call esi
lea eax, [ebp - 0xf4]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
mov eax, dword [ebp - 0x24]
mov ecx, 1
cmp dword [ebp - 0xf0], 0x12
push ecx
movzx eax, al
push 0
cmove eax, ecx
push 0
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0xf4]
push 0
push eax
call edi
test eax, eax
jne 0x48c8a0
cmp byte [ebp - 0x24], al
jne 0x48cc35
mov eax, dword [0x4b45dc]
test eax, eax
je 0x48c937
mov ecx, dword [0x4b45e0]
test ecx, ecx
je 0x48c937
mov dword [0x4b45e4], eax
mov dword [0x4b45e8], ecx
mov dword [0x4b45e0], 0
mov dword [0x4b45dc], 0
call fcn.004568c0
mov eax, dword [0x4b45d8]
push 0x4b45e4
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
call fcn.00456600
call fcn.00456930
call fcn.004574a0
call fcn.00418ca0
cmp byte [ebp - 0x16], 0
je 0x48c958
lea eax, [ebp - 0x16]
push eax
call fcn.0042a4d0
add esp, 4
push 0
push 0
push 0x495828
call fcn.00404a70
push str.This_is_some_useful_text.
call fcn.0047f590
lea eax, [ebp - 0x16]
push eax
push str.Demo_Window
call fcn.0046d2e0
lea eax, [ebp - 0x15]
push eax
push str.Another_Window
call fcn.0046d2e0
add esp, 0x20
push 0
push str._.3f
sub esp, 8
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
push 0x4b4634
push str.float
call fcn.0047c810
push 0
lea eax, [ebp - 0x104]
push eax
push str.clear_color
call fcn.0046e2c0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0
push eax
push 0x491024
mov dword [ebp - 0x28], 0
call fcn.0046c940
add esp, 0x2c
test al, al
je 0x48c9f3
inc dword [0x4b4638]
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.0041d280
push dword [0x4b4638]
push str.counter___d
call fcn.0047f590
mov eax, dword [ebp - 0x138]
movss xmm1, dword [eax + 0x94]
cvtps2pd xmm0, xmm1
movsd qword [esp + 8], xmm0
movss xmm0, dword [0x494398]
divss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Application_average__.3f_ms_frame___.1f_FPS_
call fcn.0047f590
add esp, 0x14
call fcn.0040d5a0
cmp byte [ebp - 0x15], 0
je 0x48caa3
push 0
lea eax, [ebp - 0x15]
push eax
push str.Another_Window
call fcn.00404a70
push str.Hello_from_another_window_
call fcn.0047f590
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0
push eax
push str.Close_Me
mov dword [ebp - 0x34], 0
call fcn.0046c940
add esp, 0x18
test al, al
je 0x48ca9e
mov byte [ebp - 0x15], 0
call fcn.0040d5a0
call fcn.0040dbd0
mov eax, dword [0x4b45d8]
push 0
push 7
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x4b45d8]
push 0
push 0x1b
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x4b45d8]
push 0
push 0xae
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
movups xmm2, xmmword [ebp - 0x104]
push 0
movss xmm3, dword [0x49438c]
movaps xmm1, xmm2
mov edx, dword [0x4b45d8]
shufps xmm1, xmm2, 0xff
movaps xmm0, xmm2
mulss xmm0, xmm1
push ecx
mov esi, dword [edx]
mov dword [esp], 0x3f800000
mulss xmm0, xmm3
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm0, xmm3
movzx ecx, al
cvttss2si eax, xmm0
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x55
mulss xmm0, xmm1
shl eax, 8
or ecx, eax
shufps xmm2, xmm2, 0xaa
mulss xmm2, xmm1
shl ecx, 8
mulss xmm0, xmm3
mulss xmm2, xmm3
cvttss2si eax, xmm0
movzx eax, al
or ecx, eax
cvttss2si eax, xmm2
shl ecx, 8
movzx eax, al
or ecx, eax
push ecx
push 3
push 0
push 0
push edx
call dword [esi + 0xac]
mov eax, dword [0x4b45d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa4]
test eax, eax
js 0x48cb9f
call fcn.0041adc0
call fcn.0040f560
push eax
call fcn.00456970
mov eax, dword [0x4b45d8]
add esp, 4
mov ecx, dword [eax]
push eax
call dword [ecx + 0xa8]
mov eax, dword [0x4b45d8]
push 0
push 0
push 0
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x44]
mov esi, dword [sym.imp.USER32.dll_TranslateMessage]
cmp eax, 0x88760868
jne 0x48c887
mov eax, dword [0x4b45d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
cmp eax, 0x88760869
jne 0x48c887
call fcn.004568c0
mov eax, dword [0x4b45d8]
push 0x4b45e4
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
call fcn.00456600
jmp 0x48c881
call fcn.00457230
call fcn.00457770
push 0
call fcn.0040d4f0
mov ecx, dword [0x4b45d8]
add esp, 4
test ecx, ecx
je 0x48cc63
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x4b45d8], 0
mov ecx, dword [0x4b45d4]
test ecx, ecx
je 0x48cc7d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x4b45d4], 0
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [ebp - 0x120]
push dword [ebp - 0x10c]
call dword [sym.imp.USER32.dll_UnregisterClassW]
xor eax, eax
jmp 0x48cced
mov ecx, dword [0x4b45d4]
mov edx, dword [0x4b45d8]
test edx, edx
je 0x48ccc2
mov eax, dword [edx]
push edx
call dword [eax + 8]
mov ecx, dword [0x4b45d4]
mov dword [0x4b45d8], 0
test ecx, ecx
je 0x48ccd6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x4b45d4], 0
push dword [ebp - 0x120]
push dword [ebp - 0x10c]
call dword [sym.imp.USER32.dll_UnregisterClassW]
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.0048cd9a
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x3c]
call fcn.00485120
lea eax, [ebp - 0x3c]
push eax
call fcn.00484230
lea ecx, [ebp - 0x3c]
call fcn.00485120
lea eax, [ebp - 0x3c]
push eax
call fcn.00484230
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00488f70
int3