Function at 0x1002a06
Capabilities:
Parse credit card information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push esi
mov esi, dword [ebp + 8]
movzx eax, word [esi + 0x20]
push edi
mov edi, dword [esi + 0x2fc]
xor edx, edx
shr edi, 4
mov dword [ebp + 8], eax
and edi, 0xf
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], edx
call fcn.01002972
mov dword [ebp - 4], eax
cmp eax, edx
je 0x1002c04
push ebx
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
lea ebx, [ebp - 0x14]
mov eax, ebx
push eax
push 2
call fcn.010029a3
cmp dword [ebp + 8], 0xf
mov ecx, 0x400
mov edx, 0x800
je 0x1002b63
mov al, byte [ebx]
cmp al, 0x40
jne 0x1002a84
and dword [esi + 0x2f4], 0
jmp 0x1002b52
cmp al, 0x41
jne 0x1002a97
mov dword [esi + 0x2f4], 0x80
jmp 0x1002b52
cmp al, 0x42
jne 0x1002aaa
mov dword [esi + 0x2f4], 0x100
jmp 0x1002b52
cmp al, 0x43
jne 0x1002abd
mov dword [esi + 0x2f4], 0x200
jmp 0x1002b52
cmp al, 0x44
jne 0x1002acc
mov dword [esi + 0x2f4], ecx
jmp 0x1002b52
cmp al, 0x45
jne 0x1002ad8
mov dword [esi + 0x2f4], edx
jmp 0x1002b52
cmp al, 0x7a
je 0x1002ae0
cmp al, 0x82
jne 0x1002aec
mov dword [esi + 0x2f4], 0x100
jmp 0x1002b02
cmp al, 0x84
jne 0x1002af8
mov dword [esi + 0x2f4], ecx
jmp 0x1002b02
cmp al, 0x85
jne 0x1002b10
mov dword [esi + 0x2f4], edx
mov eax, dword [esi + 0x2f0]
mov dword [esi + 0x2f8], eax
jmp 0x1002b52
cmp al, 0x22
jne 0x1002b20
mov dword [esi + 0x310], 0x200
jmp 0x1002b46
cmp al, 0x23
jne 0x1002b2c
mov dword [esi + 0x310], ecx
jmp 0x1002b46
cmp al, 0x25
jne 0x1002b38
mov dword [esi + 0x310], edx
jmp 0x1002b46
cmp al, 0x29
jne 0x1002b52
mov dword [esi + 0x310], 0x1000
mov eax, dword [esi + 0x2f0]
mov dword [esi + 0x314], eax
inc ebx
lea eax, [ebp - 4]
cmp ebx, eax
jb 0x1002a72
jmp 0x1002c03
mov al, byte [ebx]
cmp al, 0x40
je 0x1002bf7
cmp al, 0x79
jne 0x1002b7d
mov dword [esi + 0x2f4], 0x80
jmp 0x1002ba7
cmp al, 0x7a
jne 0x1002b8d
mov dword [esi + 0x2f4], 0x100
jmp 0x1002ba7
cmp al, 0x7b
jne 0x1002b9d
mov dword [esi + 0x2f4], 0x200
jmp 0x1002ba7
cmp al, 0x7c
jne 0x1002bb5
mov dword [esi + 0x2f4], ecx
mov eax, dword [esi + 0x2f0]
mov dword [esi + 0x2f8], eax
jmp 0x1002bf7
cmp al, 0x22
jne 0x1002bc5
mov dword [esi + 0x310], 0x200
jmp 0x1002beb
cmp al, 0x23
jne 0x1002bd1
mov dword [esi + 0x310], ecx
jmp 0x1002beb
cmp al, 0x25
jne 0x1002bdd
mov dword [esi + 0x310], edx
jmp 0x1002beb
cmp al, 0x29
jne 0x1002bf7
mov dword [esi + 0x310], 0x1000
mov eax, dword [esi + 0x2f0]
mov dword [esi + 0x314], eax
inc ebx
lea eax, [ebp - 4]
cmp ebx, eax
jb 0x1002b63
pop ebx
mov eax, dword [ebp + 8]
sub eax, 4
je 0x1002d57
dec eax
je 0x1002d43
dec eax
je 0x1002c86
sub eax, 9
je 0x1002c26
push 2
jmp 0x1002d59
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
push 1
call fcn.010029a3
movzx eax, byte [ebp - 0x10]
mov ecx, 0xb2
mov word [esi + 0x324], cx
inc ecx
cmp eax, 0xb
je 0x1002c58
cmp eax, 0xc
jne 0x1002c61
mov edx, ecx
mov word [esi + 0x324], dx
cmp eax, 0xe
jne 0x1002d61
cmp dword [esi + 0x2fc], 0xf13
jae 0x1002d61
mov word [esi + 0x324], cx
jmp 0x1002d61
cmp edi, 3
jae 0x1002c92
push 0xc
jmp 0x1002d59
jne 0x1002c9b
push 0xd
jmp 0x1002d59
cmp edi, 6
je 0x1002d2d
mov eax, dword [esi + 0x2f4]
cmp eax, 0x80
je 0x1002d2d
cmp edi, 5
jne 0x1002cd2
test eax, eax
je 0x1002ccb
push esi
call fcn.010029d8
test eax, eax
je 0x1002c94
push 0x10
jmp 0x1002d59
push 0xf
jmp 0x1002d59
cmp edi, 7
jne 0x1002ce5
push esi
call fcn.010029d8
test eax, eax
jne 0x1002d26
push 0x11
jmp 0x1002d59
cmp edi, 8
jne 0x1002d1d
cmp dword [ebp - 4], 0
je 0x1002c1f
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
push 1
call fcn.010029a3
movzx eax, byte [ebp - 0x10]
dec eax
je 0x1002ccb
dec eax
je 0x1002ce1
dec eax
je 0x1002d26
jmp 0x1002c1f
cmp edi, 0xa
jne 0x1002c1f
mov eax, 0xb0
jmp 0x1002d5a
mov eax, dword [esi + 0x2f4]
cmp eax, 0x80
je 0x1002ccb
test eax, eax
je 0x1002ccb
jmp 0x1002c94
test dword [esi + 0x300], 0x800000
je 0x1002d53
push 0xe
jmp 0x1002d59
push 0xb
jmp 0x1002d59
push 6
pop eax
mov word [esi + 0x324], ax
pop edi
pop esi
leave
ret 4