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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
cmp dword [ebp + 8], 0
jle 0x1001601d
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
push 0xff
push dword [ebp + 8]
call fcn.1000e3cb
mov ebx, dword [ebp + 0xc]
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa0
jne 0x10015c1f
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x10
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x2a
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa1
jne 0x10015c45
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x10
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x36
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa2
jne 0x10015c6b
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x11
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x1d
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa3
jne 0x10015c91
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x11
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x9d
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa4
jne 0x10015cb7
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x12
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x38
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa5
jne 0x10015cdd
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x12
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xb8
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x90
jne 0x10015cfa
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xc5
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x24
jne 0x10015d14
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xc7
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x26
jne 0x10015d2e
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xc8
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x21
jne 0x10015d48
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xc9
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x25
jne 0x10015d62
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xcb
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x27
jne 0x10015d7c
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xcd
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x23
jne 0x10015d96
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xcf
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x28
jne 0x10015db0
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xd0
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x22
jne 0x10015dca
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xd1
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x2d
jne 0x10015de4
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xd2
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x2e
jne 0x10015dfe
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xd3
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x5b
jne 0x10015e18
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdb
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x5c
jne 0x10015e32
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdc
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x5d
jne 0x10015e4c
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdd
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x5e
jne 0x10015e66
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xde
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x6f
jne 0x10015e80
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xb5
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xe
jne 0x10015ea3
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0xd
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x9c
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3a
jne 0x10015ec6
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x2d
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x52
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3b
jne 0x10015ee9
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x2e
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x53
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3c
jne 0x10015f0c
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x21
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x49
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3d
jne 0x10015f2f
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x23
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x4f
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3e
jne 0x10015f52
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x24
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x47
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x89
jne 0x10015f78
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x25
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x4b
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x89
jne 0x10015f9e
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x26
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x48
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x8b
jne 0x10015fc4
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x27
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x4d
jmp 0x10016018
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x8c
jne 0x10015fea
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x28
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x50
jmp 0x10016018
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 0x10016013
push 6
call fcn.1004b13b
add esp, 4
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
jmp 0x10016329
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.1004d4f0
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.10002322
push eax
call fcn.1000e3cb
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xc5
jne 0x10016087
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x90
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xb5
jne 0x100160a4
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x6f
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x53
jne 0x100160be
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x6e
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x52
jne 0x100160d8
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x60
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x4f
jne 0x100160f2
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x61
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x50
jne 0x1001610c
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x62
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x51
jne 0x10016126
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x63
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x4b
jne 0x10016140
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x64
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x4c
jne 0x1001615a
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x65
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x4d
jne 0x10016174
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x66
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x47
jne 0x1001618e
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x67
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x48
jne 0x100161a8
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x68
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x49
jne 0x100161c2
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x69
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x45
jne 0x100161dc
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x72
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xb7
jne 0x100161f9
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x2c
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x5b
je 0x10016218
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xdb
je 0x10016218
xor eax, eax
jmp 0x1001621d
mov eax, 1
test eax, eax
je 0x1001623c
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x5b
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdb
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x5c
je 0x1001625b
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xdc
je 0x1001625b
xor eax, eax
jmp 0x10016260
mov eax, 1
test eax, eax
je 0x1001627f
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x5c
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdc
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x5d
je 0x1001629e
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xdd
je 0x1001629e
xor eax, eax
jmp 0x100162a3
mov eax, 1
test eax, eax
je 0x100162c2
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x5d
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdd
jmp 0x10016329
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xde
jne 0x100162df
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x5e
jmp 0x10016329
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
push 0x7f
mov ebx, dword [ebp + 0x10]
push dword [ebx]
call fcn.1000e3cb
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 0x10016324
push 6
call fcn.1004b13b
add esp, 4
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.1001599e
jmp 0x10016340
mov esp, ebp
pop ebp
ret 0xc