Function at 0x100084b0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x10008917
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x10008917
cmp eax, 0x29
jne 0x100084f0
cmp dword [esi + 0x10], 0
jne 0x10008917
test dword [esi + 0x50], 0x10000000
je 0x10008924
jmp 0x100088b0
cmp eax, 0x2e
jne 0x10008543
push 5
lea ecx, [esi + 0x24]
call fcn.10008940
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100088f8
cmp byte [eax], 0x5c
jne 0x100086ff
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100086ff
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000853b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x100086fd
cmp dl, 0x29
je 0x100086fd
test bl, 0x10
jmp 0x100086ef
cmp eax, 0x5c
jne 0x10008661
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000858a
cmp byte [eax], 0x5c
jne 0x10008587
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10008587
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10008574
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10008585
cmp dl, 0x29
je 0x10008585
test bl, 0x10
jne 0x10008587
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10008585
cmp dl, 0x7d
jne 0x10008587
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100071d0
test byte [esi + 0x50], 0x80
je 0x10008655
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x100085f6
push 4
lea ecx, [esi + 0x24]
call fcn.10008940
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100085ea
cmp byte [eax], 0x5c
jne 0x100085e7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100085e7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100085d4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x100085e5
cmp dl, 0x29
je 0x100085e5
test bl, 0x10
jne 0x100085e7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100085e5
cmp dl, 0x7d
jne 0x100085e7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100071d0
jmp 0x10008909
cmp al, 0x42
jne 0x10008655
push 4
lea ecx, [esi + 0x24]
call fcn.10008940
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10008649
cmp byte [eax], 0x5c
jne 0x10008646
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10008646
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10008633
mov al, byte [ecx]
cmp al, 0x28
je 0x10008644
cmp al, 0x29
je 0x10008644
mov eax, dword [esi]
test dl, 0x10
jne 0x10008646
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10008644
cmp dl, 0x7d
jne 0x10008646
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100071d0
jmp 0x10008909
mov ecx, esi
call fcn.10009420
jmp 0x100088ff
cmp eax, 0x5b
jne 0x10008707
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100086a8
cmp byte [eax], 0x5c
jne 0x100086a5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100086a5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10008692
mov al, byte [ecx]
cmp al, 0x28
je 0x100086a3
cmp al, 0x29
je 0x100086a3
mov eax, dword [esi]
test dl, 0x10
jne 0x100086a5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100086a3
cmp dl, 0x7d
jne 0x100086a5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100071d0
mov ecx, esi
call fcn.100092f0
cmp dword [esi + 0x4c], 0x5d
jne 0x10008932
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100088f8
cmp byte [eax], 0x5c
jne 0x100086ff
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100086ff
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100086ec
mov al, byte [ecx]
cmp al, 0x28
je 0x100086fd
cmp al, 0x29
je 0x100086fd
mov eax, dword [esi]
test dl, 0x10
jne 0x100086ff
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100086fd
cmp dl, 0x7d
jne 0x100086ff
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x100088f8
cmp eax, 0x28
jne 0x100087ba
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000874e
cmp byte [eax], 0x5c
jne 0x1000874b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000874b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10008738
mov al, byte [ecx]
cmp al, 0x28
je 0x10008749
cmp al, 0x29
je 0x10008749
mov eax, dword [esi]
test dl, 0x10
jne 0x1000874b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10008749
cmp dl, 0x7d
jne 0x1000874b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100071d0
mov ecx, esi
call fcn.10009570
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x10008924
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100087a6
cmp byte [eax], 0x5c
jne 0x100087a3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100087a3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10008790
mov al, byte [ecx]
cmp al, 0x28
je 0x100087a1
cmp al, 0x29
je 0x100087a1
mov eax, dword [esi]
test dl, 0x10
jne 0x100087a3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100087a1
cmp dl, 0x7d
jne 0x100087a3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100071d0
test bl, bl
je 0x10008909
jmp 0x100088ff
cmp eax, 0x5e
jne 0x10008810
push 2
lea ecx, [esi + 0x24]
call fcn.10008940
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10008804
cmp byte [eax], 0x5c
jne 0x10008802
inc eax
cmp eax, ecx
je 0x10008802
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100087ef
mov dl, byte [eax]
cmp dl, 0x28
je 0x10008800
cmp dl, 0x29
je 0x10008800
test cl, 0x10
jne 0x10008802
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10008800
cmp cl, 0x7d
jne 0x10008802
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100071d0
jmp 0x10008909
cmp eax, 0x24
jne 0x10008866
push 3
lea ecx, [esi + 0x24]
call fcn.10008940
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000885a
cmp byte [eax], 0x5c
jne 0x10008858
inc eax
cmp eax, ecx
je 0x10008858
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10008845
mov dl, byte [eax]
cmp dl, 0x28
je 0x10008856
cmp dl, 0x29
je 0x10008856
test cl, 0x10
jne 0x10008858
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10008856
cmp cl, 0x7d
jne 0x10008858
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100071d0
jmp 0x10008909
cmp eax, 0x2a
je 0x1000891d
cmp eax, 0x2b
je 0x1000891d
cmp eax, 0x3f
je 0x1000891d
cmp eax, 0x7b
je 0x1000891d
cmp eax, 0x7d
jne 0x1000889e
test dword [esi + 0x50], 0x10000000
je 0x1000892b
jmp 0x100088b0
cmp eax, 0x5d
jne 0x100088b0
test dword [esi + 0x50], 0x10000000
je 0x10008932
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10009a20
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100088f8
cmp byte [eax], 0x5c
jne 0x100088f6
inc eax
cmp eax, ecx
je 0x100088f6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100088e3
mov dl, byte [eax]
cmp dl, 0x28
je 0x100088f4
cmp dl, 0x29
je 0x100088f4
test cl, 0x10
jne 0x100088f6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100088f4
cmp cl, 0x7d
jne 0x100088f6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100071d0
mov ecx, esi
call fcn.100097f0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x100084c6
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.100071c0
push 5
call fcn.100071c0
push 6
call fcn.100071c0
push 4
call fcn.100071c0
int3