Function at 0x10007e30
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x10008332
cmp eax, 0x7c
je 0x10008332
lea edi, [esi + 8]
cmp eax, 0x29
jne 0x10007e74
cmp dword [esi + 0x10], 0
jne 0x10008332
test dword [esi + 0x50], 0x10000000
je 0x10008342
jmp 0x100082c7
cmp eax, 0x2e
jne 0x10007ee4
push 5
lea ecx, [esi + 0x24]
call fcn.10008360
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000830e
cmp byte [eax], 0x5c
jne 0x100080f4
lea edx, [eax + 1]
cmp edx, ecx
je 0x100080f4
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10007ebe
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x10007ed9
cmp byte [ebp - 1], 0x29
je 0x10007ed9
test bl, 0x10
jne 0x100080f4
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x10007ed9
cmp dl, 0x7d
jne 0x100080f4
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x1000830e
cmp eax, 0x5c
jne 0x1000802f
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10007f35
cmp byte [eax], 0x5c
jne 0x10007f32
lea edx, [eax + 1]
cmp edx, ecx
je 0x10007f32
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10007f1c
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x10007f2f
cmp byte [ebp - 1], 0x29
je 0x10007f2f
test bl, 0x10
jne 0x10007f32
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x10007f2f
cmp dl, 0x7d
jne 0x10007f32
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10006a20
test byte [esi + 0x50], 0x80
je 0x10008023
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x10007fa9
push 4
lea ecx, [esi + 0x24]
call fcn.10008360
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10007f9d
cmp byte [eax], 0x5c
jne 0x10007f9a
lea edx, [eax + 1]
cmp edx, ecx
je 0x10007f9a
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10007f84
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x10007f97
cmp bl, 0x29
je 0x10007f97
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x10007f9a
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x10007f97
cmp dl, 0x7d
jne 0x10007f9a
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10006a20
jmp 0x1000831f
cmp al, 0x42
jne 0x10008023
push 4
lea ecx, [esi + 0x24]
call fcn.10008360
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10008017
cmp byte [eax], 0x5c
jne 0x10008014
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x10008012
test byte [esi + 0x50], 8
jne 0x10007fea
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x10008000
cmp cl, 0x29
je 0x10008000
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x10008012
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x10008000
mov edx, ecx
cmp bl, 0x7d
jne 0x10008012
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.10006a20
jmp 0x1000831f
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10006a20
jmp 0x1000831f
mov ecx, esi
call fcn.100096a0
jmp 0x10008315
cmp eax, 0x5b
jne 0x100080fc
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10008088
cmp byte [eax], 0x5c
jne 0x10008082
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x10008080
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10008066
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x1000807b
cmp cl, 0x29
je 0x1000807b
mov ecx, eax
test bl, 0x10
jne 0x10008080
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x1000807b
mov edx, ecx
cmp bl, 0x7d
jne 0x10008080
lea eax, [edx + 1]
jmp 0x10008082
mov eax, ecx
inc eax
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.10006a20
mov ecx, esi
call fcn.10009560
cmp dword [esi + 0x4c], 0x5d
jne 0x10008350
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000830e
cmp byte [eax], 0x5c
jne 0x100080f4
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x100080f2
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100080d2
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x100080e7
cmp cl, 0x29
je 0x100080e7
mov ecx, eax
test bl, 0x10
jne 0x100080f2
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x100080e7
mov edx, ecx
cmp bl, 0x7d
jne 0x100080f2
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x1000830e
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x1000830e
cmp eax, 0x28
jne 0x100081d2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10008151
cmp byte [eax], 0x5c
jne 0x1000814e
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x1000814c
test byte [esi + 0x50], 8
jne 0x10008131
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x10008147
cmp cl, 0x29
je 0x10008147
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x1000814c
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x10008147
mov edx, ecx
cmp bl, 0x7d
jne 0x1000814c
lea eax, [edx + 1]
jmp 0x1000814e
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10006a20
mov ecx, esi
call fcn.100097f0
cmp dword [esi + 0x4c], 0x29
mov bl, al
mov byte [ebp - 1], bl
jne 0x10008342
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x100081be
cmp byte [eax], 0x5c
jne 0x100081bb
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x100081b6
test byte [esi + 0x50], 8
jne 0x1000819b
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x100081b1
cmp cl, 0x29
je 0x100081b1
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x100081b6
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x100081b1
mov edx, ecx
cmp bl, 0x7d
jne 0x100081b6
lea eax, [edx + 1]
jmp 0x100081b8
mov eax, ecx
mov bl, byte [ebp - 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10006a20
test bl, bl
je 0x1000831f
jmp 0x10008315
cmp eax, 0x5e
jne 0x10008226
push 2
lea ecx, [esi + 0x24]
call fcn.10008360
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000821a
cmp byte [eax], 0x5c
jne 0x10008218
inc eax
cmp eax, ecx
je 0x10008218
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10008207
mov dl, byte [eax]
cmp dl, 0x28
je 0x10008216
cmp dl, 0x29
je 0x10008216
test cl, 0x10
jne 0x10008218
mov al, byte [eax]
cmp al, 0x7b
je 0x10008216
cmp al, 0x7d
jne 0x10008218
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.10006a20
jmp 0x1000831f
cmp eax, 0x24
jne 0x1000827d
push 3
lea ecx, [esi + 0x24]
call fcn.10008360
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10008271
cmp byte [eax], 0x5c
jne 0x1000826f
inc eax
cmp eax, ecx
je 0x1000826f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000825e
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000826d
cmp dl, 0x29
je 0x1000826d
test cl, 0x10
jne 0x1000826f
mov al, byte [eax]
cmp al, 0x7b
je 0x1000826d
cmp al, 0x7d
jne 0x1000826f
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.10006a20
jmp 0x1000831f
cmp eax, 0x2a
je 0x1000833b
cmp eax, 0x2b
je 0x1000833b
cmp eax, 0x3f
je 0x1000833b
cmp eax, 0x7b
je 0x1000833b
cmp eax, 0x7d
jne 0x100082b5
test dword [esi + 0x50], 0x10000000
je 0x10008349
jmp 0x100082c7
cmp eax, 0x5d
jne 0x100082c7
test dword [esi + 0x50], 0x10000000
je 0x10008350
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10009c90
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000830e
cmp byte [eax], 0x5c
jne 0x1000830c
inc eax
cmp eax, ecx
je 0x1000830c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100082fb
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000830a
cmp dl, 0x29
je 0x1000830a
test cl, 0x10
jne 0x1000830c
mov al, byte [eax]
cmp al, 0x7b
je 0x1000830a
cmp al, 0x7d
jne 0x1000830c
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.10006a20
mov ecx, esi
call fcn.10009a70
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x10008332
cmp eax, 0x7c
jne 0x10007e53
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.10006a10
push 5
call fcn.10006a10
push 6
call fcn.10006a10
push 4
call fcn.10006a10
int3