Function at 0x43b820
Capabilities:
Hide graphical window
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x88
mov eax, dword [0x49400c]
xor eax, esp
mov dword [esp + 0x84], eax
push esi
push edi
push 0
mov dword [esp + 0x2c], 0x30
mov dword [esp + 0x30], 0x40
mov dword [esp + 0x34], 0x43bf60
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [esp + 0x3c], eax
xorps xmm0, xmm0
lea eax, [esp + 0x28]
mov dword [esp + 0x50], str.VBR_Community_Loader___discord.gg_vbrc
push eax
movups xmmword [esp + 0x44], xmm0
mov dword [esp + 0x58], 0
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0
push dword [esp + 0x40]
push 0
push 0
push 5
push 5
push 0
push 0
push 0x80000000
push str.VBR_Community_Loader___discord.gg_vbrc
push dword [esp + 0x78]
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov esi, eax
push 0x20
mov dword [0x4952c8], esi
call dword [sym.imp.d3d9.dll_Direct3DCreate9]
mov ecx, eax
mov dword [0x4952c4], ecx
test ecx, ecx
je 0x43bf03
push 0x4952c0
push 0x495288
push 0x40
xorps xmm0, xmm0
mov dword [0x49529c], 0
push esi
push 1
movlpd qword [0x495288], xmm0
movlpd qword [0x495294], xmm0
mov dword [0x4952a4], 0
movlpd qword [0x4952b4], xmm0
mov dword [0x4952a8], 1
mov dword [0x4952a0], 1
mov dword [0x495290], 0
mov dword [0x4952ac], 1
mov dword [0x4952b0], 0x50
mov dword [0x4952bc], 1
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x40]
test eax, eax
js 0x43befd
push 0
push dword [0x4952c8]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x4952c8]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [0x495280]
test eax, eax
je 0x43b98e
inc dword [eax + 0x374]
push 0x3e70
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
test eax, eax
je 0x43b9ad
push 0
mov ecx, eax
call fcn.00401da0
mov ecx, eax
jmp 0x43b9af
xor ecx, ecx
mov eax, dword [0x495280]
test eax, eax
cmove eax, ecx
mov dword [0x495280], eax
call fcn.00408330
mov eax, dword [0x495280]
mov dword [esp + 0x14], eax
or dword [eax + 8], 0x400
mov dword [eax + 0x20], 0
mov dword [eax + 0x15a4], 0
mov dword [eax + 0x1688], 0x3f800000
call fcn.00431090
mov ecx, dword [0x4952c0]
mov esi, dword [0x495280]
push ecx
mov dword [0x495540], ecx
or dword [esi + 0xc], 0x1008
mov dword [esi + 0xc8], str.imgui_impl_dx9
mov eax, dword [ecx]
call dword [eax + 4]
test dword [esi + 8], 0x400
je 0x43ba5c
mov eax, dword [0x495280]
mov dword [eax + 0x156c], 0x430de0
mov dword [eax + 0x1570], 0x430ea0
mov dword [eax + 0x1574], 0x430f00
mov dword [eax + 0x1578], 0x430f50
mov dword [eax + 0x157c], 0x431070
xorps xmm0, xmm0
mov dword [esp + 0x78], 0
movaps xmmword [esp + 0x60], xmm0
movq qword [esp + 0x70], xmm0
push 1
push 0
push 0
push 0
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x43baa4
lea eax, [esp + 0x60]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x60]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x43bda7
cmp dword [0x495538], 0
jne 0x43bab2
call fcn.00430c80
mov esi, dword [0x495280]
lea eax, [esp + 0x18]
push eax
push dword [0x495554]
xorps xmm0, xmm0
mov dword [esp + 0x14], esi
movups xmmword [esp + 0x20], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x18]
movd xmm1, eax
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
cmp byte [0x4945ed], 0
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10], xmm1
movss dword [esi + 0x14], xmm0
je 0x43bb0b
call fcn.00431c10
lea eax, [esp + 0x58]
xorps xmm0, xmm0
push eax
movlpd qword [esp + 0x5c], xmm0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edi, dword [esp + 0x58]
mov ecx, edi
sub ecx, dword [0x495558]
mov esi, dword [esp + 0x5c]
mov edx, esi
sbb edx, dword [0x49555c]
call fcn.004740f0
mov edx, dword [0x495564]
mov ecx, dword [0x495560]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x10], xmm0
call fcn.004740f0
movss xmm1, dword [esp + 0x10]
cvtsd2ss xmm0, xmm0
mov eax, dword [esp + 0xc]
push 0x11
divss xmm1, xmm0
movss dword [eax + 0x18], xmm1
mov dword [0x495558], edi
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
mov dword [0x49555c], esi
call edi
mov esi, dword [esp + 0xc]
shr eax, 0xf
and al, 1
push 0x10
mov byte [esi + 0x100], al
call edi
shr eax, 0xf
and al, 1
push 0x12
mov byte [esi + 0x101], al
call edi
shr eax, 0xf
and al, 1
mov byte [esi + 0x103], 0
mov byte [esi + 0x102], al
call fcn.00431510
cmp byte [esi + 0xb7], 0
je 0x43bbcb
or eax, 0xffffffff
jmp 0x43bbd6
mov eax, dword [0x495280]
mov eax, dword [eax + 0x1f58]
cmp dword [0x4945f0], eax
je 0x43bbe8
mov dword [0x4945f0], eax
call fcn.004313e0
call fcn.004316c0
call fcn.00407180
cmp dword [0x495578], 0
jne 0x43bc12
mov ecx, dword [0x4952c0]
call fcn.004614f0
mov dword [0x495578], 1
jmp 0x43bc17
call fcn.004603b0
call fcn.00409710
mov eax, dword [0x4952c0]
push 0
mov ecx, dword [eax]
push ecx
mov dword [esp], 0x3f800000
push 0
push 3
push 0
push 0
push eax
call dword [ecx + 0xac]
mov eax, dword [0x4952c0]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa4]
test eax, eax
js 0x43bc7d
call fcn.00409b60
mov eax, dword [0x495280]
xor ecx, ecx
mov eax, dword [eax + 0x1dd8]
mov eax, dword [eax]
sub eax, 0xffffff80
cmp byte [eax], cl
cmovne ecx, eax
call fcn.004304f0
mov eax, dword [0x4952c0]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa8]
mov eax, dword [esp + 0x14]
test dword [eax + 8], 0x400
je 0x43bd57
call fcn.00417fe0
mov esi, dword [0x495280]
mov edi, 1
mov eax, dword [esi + 0x158c]
lea ecx, [esi + 0x1594]
mov dword [esp + 0xc], ecx
cmp eax, edi
jle 0x43bcfd
mov eax, dword [ecx]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x10], eax
test dword [eax + 4], 0x400
jne 0x43bcf0
mov ecx, dword [esi + 0x1554]
test ecx, ecx
je 0x43bcda
push 0
push eax
call ecx
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [esi + 0x1578]
test ecx, ecx
je 0x43bcec
push 0
push eax
call ecx
add esp, 8
mov ecx, dword [esp + 0xc]
mov eax, dword [esi + 0x158c]
inc edi
cmp edi, eax
jl 0x43bcb2
jmp 0x43bd01
mov dword [esp + 0xc], ecx
mov edi, 1
cmp eax, edi
jle 0x43bd57
nop word [eax + eax]
mov eax, dword [ecx]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x10], eax
test dword [eax + 4], 0x400
jne 0x43bd4e
mov ecx, dword [esi + 0x1558]
test ecx, ecx
je 0x43bd38
push 0
push eax
call ecx
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [esi + 0x157c]
test ecx, ecx
je 0x43bd4a
push 0
push eax
call ecx
add esp, 8
mov ecx, dword [esp + 0xc]
inc edi
cmp edi, dword [esi + 0x158c]
jl 0x43bd10
mov ecx, dword [0x4952c0]
push 0
push 0
push 0
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x44]
cmp eax, 0x88760868
jne 0x43bd9e
mov eax, dword [0x4952c0]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
cmp eax, 0x88760869
jne 0x43bd9e
call fcn.00430ce0
mov eax, dword [0x4952c0]
push 0x495288
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
call fcn.00430c80
cmp byte [0x4946b8], 0
je 0x43bdb4
cmp dword [esp + 0x64], 0x12
jne 0x43ba72
jmp 0x43bdbc
mov dword [esp + 0x64], 0x12
call fcn.00418530
call fcn.00430ce0
mov ecx, dword [0x495540]
test ecx, ecx
je 0x43bde0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x495540], 0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edi, dword [sym.imp.USER32.dll_UnregisterClassA]
push eax
push str.ImGui_Platform
call edi
mov eax, dword [0x495548]
test eax, eax
je 0x43be06
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov esi, dword [0x495280]
xorps xmm0, xmm0
mov ecx, esi
mov dword [0x495548], 0
mov dword [0x49554c], 0
mov dword [0x495550], 0
mov dword [0x495554], 0
movlpd qword [0x495558], xmm0
movlpd qword [0x495560], xmm0
mov dword [0x4945f0], 9
mov byte [0x4952da], 0
mov byte [0x4945ec], 1
call fcn.004085f0
mov eax, dword [0x495280]
xor ecx, ecx
cmp eax, esi
cmove eax, ecx
mov dword [0x495280], eax
test esi, esi
je 0x43be9b
mov ecx, esi
call fcn.00420de0
mov eax, dword [0x495280]
test eax, eax
je 0x43be91
dec dword [eax + 0x374]
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov ecx, dword [0x4952c0]
test ecx, ecx
je 0x43beb5
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x4952c0], 0
mov ecx, dword [0x4952c4]
test ecx, ecx
je 0x43becf
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x4952c4], 0
push dword [0x4952c8]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0x3c]
push dword [esp + 0x54]
call edi
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x84]
xor ecx, esp
call fcn.00472e83
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [0x4952c4]
mov edx, dword [0x4952c0]
test edx, edx
je 0x43bf23
mov eax, dword [edx]
push edx
call dword [eax + 8]
mov ecx, dword [0x4952c4]
mov dword [0x4952c0], 0
test ecx, ecx
je 0x43bf37
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x4952c4], 0
push dword [esp + 0x3c]
push dword [esp + 0x54]
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov ecx, dword [esp + 0x8c]
mov eax, 1
pop edi
pop esi
xor ecx, esp
call fcn.00472e83
mov esp, ebp
pop ebp
ret 0x10