Function at 0x40a171
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
cmp dword [ebp + 8], 0
jle 0x40a5d0
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
push 0xff
push dword [ebp + 8]
call fcn.0040a903
mov ebx, dword [ebp + 0xc]
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa0
jne 0x40a1c8
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x10
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x2a
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa1
jne 0x40a1ee
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x10
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x36
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa2
jne 0x40a214
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x11
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x1d
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa3
jne 0x40a23a
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x11
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x9d
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa4
jne 0x40a260
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x12
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x38
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xa5
jne 0x40a286
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x12
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xb8
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x90
jne 0x40a2a3
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xc5
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x24
jne 0x40a2bd
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xc7
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x26
jne 0x40a2d7
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xc8
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x21
jne 0x40a2f1
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xc9
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x25
jne 0x40a30b
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xcb
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x27
jne 0x40a325
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xcd
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x23
jne 0x40a33f
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xcf
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x28
jne 0x40a359
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xd0
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x22
jne 0x40a373
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xd1
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x2d
jne 0x40a38d
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xd2
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x2e
jne 0x40a3a7
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xd3
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x5b
jne 0x40a3c1
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdb
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x5c
jne 0x40a3db
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdc
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x5d
jne 0x40a3f5
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdd
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x5e
jne 0x40a40f
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xde
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x6f
jne 0x40a429
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xb5
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0xe
jne 0x40a44c
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0xd
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x9c
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3a
jne 0x40a46f
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x2d
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x52
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3b
jne 0x40a492
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x2e
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x53
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3c
jne 0x40a4b5
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x21
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x49
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3d
jne 0x40a4d8
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x23
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x4f
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x3e
jne 0x40a4fb
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x24
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x47
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x89
jne 0x40a521
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x25
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x4b
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x89
jne 0x40a547
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x26
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x48
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x8b
jne 0x40a56d
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x27
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x4d
jmp 0x40a5cb
mov ebx, dword [ebp + 0xc]
cmp dword [ebx], 0x8c
jne 0x40a593
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x28
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0x50
jmp 0x40a5cb
mov dword [ebp - 4], esp
push 0
mov ebx, dword [ebp + 0xc]
push dword [ebx]
mov eax, 0x1e
call fcn.004840f7
cmp dword [ebp - 4], esp
je 0x40a5c6
push 0xdfe
push 0x401ab8c
push 6
call fcn.004840e5
add esp, 0xc
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
jmp 0x40a8e6
fild dword [ebp + 8]
fstp qword [ebp - 8]
push 0x80000601
push dword [ebp - 4]
push dword [ebp - 8]
push 1
mov ebx, 0x4845e0
call fcn.004840f1
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.00402d03
push eax
call fcn.0040a903
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xc5
jne 0x40a63a
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x90
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xb5
jne 0x40a657
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x6f
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x53
jne 0x40a671
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x6e
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x52
jne 0x40a68b
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x60
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x4f
jne 0x40a6a5
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x61
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x50
jne 0x40a6bf
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x62
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x51
jne 0x40a6d9
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x63
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x4b
jne 0x40a6f3
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x64
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x4c
jne 0x40a70d
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x65
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x4d
jne 0x40a727
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x66
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x47
jne 0x40a741
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x67
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x48
jne 0x40a75b
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x68
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x49
jne 0x40a775
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x69
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x45
jne 0x40a78f
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x72
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xb7
jne 0x40a7ac
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x2c
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x5b
je 0x40a7cb
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xdb
je 0x40a7cb
xor eax, eax
jmp 0x40a7d0
mov eax, 1
test eax, eax
je 0x40a7ef
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x5b
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdb
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x5c
je 0x40a80e
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xdc
je 0x40a80e
xor eax, eax
jmp 0x40a813
mov eax, 1
test eax, eax
je 0x40a832
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x5c
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdc
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0x5d
je 0x40a851
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xdd
je 0x40a851
xor eax, eax
jmp 0x40a856
mov eax, 1
test eax, eax
je 0x40a875
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x5d
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0xdd
jmp 0x40a8e6
mov ebx, dword [ebp + 0x10]
cmp dword [ebx], 0xde
jne 0x40a892
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x5e
jmp 0x40a8e6
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
push 0x7f
mov ebx, dword [ebp + 0x10]
push dword [ebx]
call fcn.0040a903
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], esp
push 1
push dword [ebp - 8]
mov eax, 0x1e
call fcn.004840f7
cmp dword [ebp - 0xc], esp
je 0x40a8e1
push 0x16bc
push 0x401ab8c
push 6
call fcn.004840e5
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.00407aed
jmp 0x40a8fd
mov esp, ebp
pop ebp
ret 0xc