Function at 0x100814a0
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 0x10081907
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x10081907
cmp eax, 0x29
jne 0x100814e0
cmp dword [esi + 0x10], 0
jne 0x10081907
test dword [esi + 0x50], 0x10000000
je 0x10081914
jmp 0x100818a0
cmp eax, 0x2e
jne 0x10081533
push 5
lea ecx, [esi + 0x24]
call fcn.10081930
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100818e8
cmp byte [eax], 0x5c
jne 0x100816ef
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100816ef
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1008152b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x100816ed
cmp dl, 0x29
je 0x100816ed
test bl, 0x10
jmp 0x100816df
cmp eax, 0x5c
jne 0x10081651
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1008157a
cmp byte [eax], 0x5c
jne 0x10081577
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10081577
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10081564
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10081575
cmp dl, 0x29
je 0x10081575
test bl, 0x10
jne 0x10081577
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10081575
cmp dl, 0x7d
jne 0x10081577
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10080150
test byte [esi + 0x50], 0x80
je 0x10081645
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x100815e6
push 4
lea ecx, [esi + 0x24]
call fcn.10081930
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100815da
cmp byte [eax], 0x5c
jne 0x100815d7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100815d7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100815c4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x100815d5
cmp dl, 0x29
je 0x100815d5
test bl, 0x10
jne 0x100815d7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100815d5
cmp dl, 0x7d
jne 0x100815d7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10080150
jmp 0x100818f9
cmp al, 0x42
jne 0x10081645
push 4
lea ecx, [esi + 0x24]
call fcn.10081930
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10081639
cmp byte [eax], 0x5c
jne 0x10081636
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10081636
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10081623
mov al, byte [ecx]
cmp al, 0x28
je 0x10081634
cmp al, 0x29
je 0x10081634
mov eax, dword [esi]
test dl, 0x10
jne 0x10081636
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10081634
cmp dl, 0x7d
jne 0x10081636
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10080150
jmp 0x100818f9
mov ecx, esi
call fcn.10082390
jmp 0x100818ef
cmp eax, 0x5b
jne 0x100816f7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10081698
cmp byte [eax], 0x5c
jne 0x10081695
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10081695
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10081682
mov al, byte [ecx]
cmp al, 0x28
je 0x10081693
cmp al, 0x29
je 0x10081693
mov eax, dword [esi]
test dl, 0x10
jne 0x10081695
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10081693
cmp dl, 0x7d
jne 0x10081695
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10080150
mov ecx, esi
call fcn.10082260
cmp dword [esi + 0x4c], 0x5d
jne 0x10081922
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100818e8
cmp byte [eax], 0x5c
jne 0x100816ef
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100816ef
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100816dc
mov al, byte [ecx]
cmp al, 0x28
je 0x100816ed
cmp al, 0x29
je 0x100816ed
mov eax, dword [esi]
test dl, 0x10
jne 0x100816ef
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100816ed
cmp dl, 0x7d
jne 0x100816ef
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x100818e8
cmp eax, 0x28
jne 0x100817aa
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1008173e
cmp byte [eax], 0x5c
jne 0x1008173b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1008173b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10081728
mov al, byte [ecx]
cmp al, 0x28
je 0x10081739
cmp al, 0x29
je 0x10081739
mov eax, dword [esi]
test dl, 0x10
jne 0x1008173b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10081739
cmp dl, 0x7d
jne 0x1008173b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10080150
mov ecx, esi
call fcn.100824e0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x10081914
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10081796
cmp byte [eax], 0x5c
jne 0x10081793
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10081793
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10081780
mov al, byte [ecx]
cmp al, 0x28
je 0x10081791
cmp al, 0x29
je 0x10081791
mov eax, dword [esi]
test dl, 0x10
jne 0x10081793
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10081791
cmp dl, 0x7d
jne 0x10081793
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10080150
test bl, bl
je 0x100818f9
jmp 0x100818ef
cmp eax, 0x5e
jne 0x10081800
push 2
lea ecx, [esi + 0x24]
call fcn.10081930
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100817f4
cmp byte [eax], 0x5c
jne 0x100817f2
inc eax
cmp eax, ecx
je 0x100817f2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100817df
mov dl, byte [eax]
cmp dl, 0x28
je 0x100817f0
cmp dl, 0x29
je 0x100817f0
test cl, 0x10
jne 0x100817f2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100817f0
cmp cl, 0x7d
jne 0x100817f2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10080150
jmp 0x100818f9
cmp eax, 0x24
jne 0x10081856
push 3
lea ecx, [esi + 0x24]
call fcn.10081930
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1008184a
cmp byte [eax], 0x5c
jne 0x10081848
inc eax
cmp eax, ecx
je 0x10081848
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10081835
mov dl, byte [eax]
cmp dl, 0x28
je 0x10081846
cmp dl, 0x29
je 0x10081846
test cl, 0x10
jne 0x10081848
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10081846
cmp cl, 0x7d
jne 0x10081848
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10080150
jmp 0x100818f9
cmp eax, 0x2a
je 0x1008190d
cmp eax, 0x2b
je 0x1008190d
cmp eax, 0x3f
je 0x1008190d
cmp eax, 0x7b
je 0x1008190d
cmp eax, 0x7d
jne 0x1008188e
test dword [esi + 0x50], 0x10000000
je 0x1008191b
jmp 0x100818a0
cmp eax, 0x5d
jne 0x100818a0
test dword [esi + 0x50], 0x10000000
je 0x10081922
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.100828b0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100818e8
cmp byte [eax], 0x5c
jne 0x100818e6
inc eax
cmp eax, ecx
je 0x100818e6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100818d3
mov dl, byte [eax]
cmp dl, 0x28
je 0x100818e4
cmp dl, 0x29
je 0x100818e4
test cl, 0x10
jne 0x100818e6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100818e4
cmp cl, 0x7d
jne 0x100818e6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10080150
mov ecx, esi
call fcn.10082680
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x100814b6
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.10080140
push 5
call fcn.10080140
push 6
call fcn.10080140
push 4
call fcn.10080140
int3