Function at 0x1002f1a0
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x1002f4a9
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x1002f4a9
cmp eax, 0x29
jne 0x1002f1d9
cmp dword [esi + 0x10], 0
jne 0x1002f4a9
test dword [esi + 0x50], 0x10000000
je 0x1002f4af
cmp eax, 0x2e
jne 0x1002f230
push 5
lea ecx, [esi + 0x24]
call fcn.10012e50
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1002f224
cmp byte [eax], 0x5c
jne 0x1002f222
inc eax
cmp eax, ecx
je 0x1002f222
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1002f20f
mov dl, byte [eax]
cmp dl, 0x28
je 0x1002f220
cmp dl, 0x29
je 0x1002f220
test cl, 0x10
jne 0x1002f222
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1002f220
cmp cl, 0x7d
jne 0x1002f222
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1002de40
jmp 0x1002f496
cmp eax, 0x5c
jne 0x1002f311
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1002f275
cmp byte [eax], 0x5c
jne 0x1002f273
inc eax
cmp eax, ecx
je 0x1002f273
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1002f260
mov dl, byte [eax]
cmp dl, 0x28
je 0x1002f271
cmp dl, 0x29
je 0x1002f271
test cl, 0x10
jne 0x1002f273
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1002f271
cmp cl, 0x7d
jne 0x1002f273
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1002de40
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x1002f2de
cmp byte [esi + 0x48], 0x62
jne 0x1002f2de
push 4
lea ecx, [esi + 0x24]
call fcn.10012e50
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1002f2d2
cmp byte [eax], 0x5c
jne 0x1002f2d0
inc eax
cmp eax, ecx
je 0x1002f2d0
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1002f2bd
mov cl, byte [eax]
cmp cl, 0x28
je 0x1002f2ce
cmp cl, 0x29
je 0x1002f2ce
test dl, 0x10
jne 0x1002f2d0
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1002f2ce
cmp cl, 0x7d
jne 0x1002f2d0
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1002de40
jmp 0x1002f49d
test eax, eax
je 0x1002f305
cmp byte [esi + 0x48], 0x42
jne 0x1002f305
push 4
lea ecx, [esi + 0x24]
call fcn.10012e50
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.1002f150
jmp 0x1002f49d
mov ecx, esi
call fcn.100306e0
jmp 0x1002f496
cmp eax, 0x5b
jne 0x1002f3b6
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1002f356
cmp byte [eax], 0x5c
jne 0x1002f354
inc eax
cmp eax, ecx
je 0x1002f354
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1002f341
mov dl, byte [eax]
cmp dl, 0x28
je 0x1002f352
cmp dl, 0x29
je 0x1002f352
test cl, 0x10
jne 0x1002f354
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1002f352
cmp cl, 0x7d
jne 0x1002f354
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1002de40
mov ecx, esi
call fcn.10030670
cmp dword [esi + 0x4c], 0x5d
jne 0x1002f4b6
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1002f3aa
cmp byte [eax], 0x5c
jne 0x1002f3a8
inc eax
cmp eax, ecx
je 0x1002f3a8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1002f395
mov dl, byte [eax]
cmp dl, 0x28
je 0x1002f3a6
cmp dl, 0x29
je 0x1002f3a6
test cl, 0x10
jne 0x1002f3a8
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1002f3a6
cmp cl, 0x7d
jne 0x1002f3a8
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1002de40
jmp 0x1002f496
cmp eax, 0x28
jne 0x1002f422
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1002f3f7
cmp byte [eax], 0x5c
jne 0x1002f3f5
inc eax
cmp eax, ecx
je 0x1002f3f5
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1002f3e2
mov dl, byte [eax]
cmp dl, 0x28
je 0x1002f3f3
cmp dl, 0x29
je 0x1002f3f3
test cl, 0x10
jne 0x1002f3f5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1002f3f3
cmp cl, 0x7d
jne 0x1002f3f5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1002de40
mov ecx, esi
call fcn.100307a0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1002f4af
mov ecx, esi
call fcn.1002f150
test bl, bl
je 0x1002f49d
jmp 0x1002f496
cmp eax, 0x5e
jne 0x1002f43a
push 2
lea ecx, [esi + 0x24]
call fcn.10012e50
mov ecx, esi
call fcn.1002f150
jmp 0x1002f49d
cmp eax, 0x24
jne 0x1002f452
push 3
lea ecx, [esi + 0x24]
call fcn.10012e50
mov ecx, esi
call fcn.1002f150
jmp 0x1002f49d
cmp eax, 0x2a
je 0x1002f4c4
cmp eax, 0x2b
je 0x1002f4c4
cmp eax, 0x3f
je 0x1002f4c4
cmp eax, 0x7b
je 0x1002f4c4
cmp eax, 0x7d
jne 0x1002f474
test dword [esi + 0x50], 0x10000000
je 0x1002f4bd
cmp eax, 0x5d
jne 0x1002f482
test dword [esi + 0x50], 0x10000000
je 0x1002f4b6
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10014d20
mov ecx, esi
call fcn.1002f150
mov ecx, esi
call fcn.10030860
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x1002f1b1
pop esi
mov al, cl
pop ebx
pop ecx
ret
push 5
call fcn.1008a0f7
push 4
call fcn.1008a0f7
push 6
call fcn.1008a0f7
push 0xa
call fcn.1008a0f7
int3