Function at 0x10079c50
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 0x1007a152
cmp eax, 0x7c
je 0x1007a152
lea edi, [esi + 8]
cmp eax, 0x29
jne 0x10079c94
cmp dword [esi + 0x10], 0
jne 0x1007a152
test dword [esi + 0x50], 0x10000000
je 0x1007a162
jmp 0x1007a0e7
cmp eax, 0x2e
jne 0x10079d04
push 5
lea ecx, [esi + 0x24]
call fcn.1007a180
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1007a12e
cmp byte [eax], 0x5c
jne 0x10079f14
lea edx, [eax + 1]
cmp edx, ecx
je 0x10079f14
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10079cde
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x10079cf9
cmp byte [ebp - 1], 0x29
je 0x10079cf9
test bl, 0x10
jne 0x10079f14
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x10079cf9
cmp dl, 0x7d
jne 0x10079f14
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x1007a12e
cmp eax, 0x5c
jne 0x10079e4f
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10079d55
cmp byte [eax], 0x5c
jne 0x10079d52
lea edx, [eax + 1]
cmp edx, ecx
je 0x10079d52
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10079d3c
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x10079d4f
cmp byte [ebp - 1], 0x29
je 0x10079d4f
test bl, 0x10
jne 0x10079d52
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x10079d4f
cmp dl, 0x7d
jne 0x10079d52
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10078c00
test byte [esi + 0x50], 0x80
je 0x10079e43
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x10079dc9
push 4
lea ecx, [esi + 0x24]
call fcn.1007a180
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10079dbd
cmp byte [eax], 0x5c
jne 0x10079dba
lea edx, [eax + 1]
cmp edx, ecx
je 0x10079dba
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10079da4
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x10079db7
cmp bl, 0x29
je 0x10079db7
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x10079dba
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x10079db7
cmp dl, 0x7d
jne 0x10079dba
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10078c00
jmp 0x1007a13f
cmp al, 0x42
jne 0x10079e43
push 4
lea ecx, [esi + 0x24]
call fcn.1007a180
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10079e37
cmp byte [eax], 0x5c
jne 0x10079e34
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x10079e32
test byte [esi + 0x50], 8
jne 0x10079e0a
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x10079e20
cmp cl, 0x29
je 0x10079e20
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x10079e32
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x10079e20
mov edx, ecx
cmp bl, 0x7d
jne 0x10079e32
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.10078c00
jmp 0x1007a13f
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10078c00
jmp 0x1007a13f
mov ecx, esi
call fcn.1007b140
jmp 0x1007a135
cmp eax, 0x5b
jne 0x10079f1c
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10079ea8
cmp byte [eax], 0x5c
jne 0x10079ea2
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x10079ea0
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10079e86
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x10079e9b
cmp cl, 0x29
je 0x10079e9b
mov ecx, eax
test bl, 0x10
jne 0x10079ea0
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x10079e9b
mov edx, ecx
cmp bl, 0x7d
jne 0x10079ea0
lea eax, [edx + 1]
jmp 0x10079ea2
mov eax, ecx
inc eax
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.10078c00
mov ecx, esi
call fcn.1007b000
cmp dword [esi + 0x4c], 0x5d
jne 0x1007a170
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1007a12e
cmp byte [eax], 0x5c
jne 0x10079f14
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x10079f12
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10079ef2
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x10079f07
cmp cl, 0x29
je 0x10079f07
mov ecx, eax
test bl, 0x10
jne 0x10079f12
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x10079f07
mov edx, ecx
cmp bl, 0x7d
jne 0x10079f12
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x1007a12e
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x1007a12e
cmp eax, 0x28
jne 0x10079ff2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10079f71
cmp byte [eax], 0x5c
jne 0x10079f6e
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x10079f6c
test byte [esi + 0x50], 8
jne 0x10079f51
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x10079f67
cmp cl, 0x29
je 0x10079f67
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x10079f6c
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x10079f67
mov edx, ecx
cmp bl, 0x7d
jne 0x10079f6c
lea eax, [edx + 1]
jmp 0x10079f6e
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10078c00
mov ecx, esi
call fcn.1007b290
cmp dword [esi + 0x4c], 0x29
mov bl, al
mov byte [ebp - 1], bl
jne 0x1007a162
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x10079fde
cmp byte [eax], 0x5c
jne 0x10079fdb
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x10079fd6
test byte [esi + 0x50], 8
jne 0x10079fbb
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x10079fd1
cmp cl, 0x29
je 0x10079fd1
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x10079fd6
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x10079fd1
mov edx, ecx
cmp bl, 0x7d
jne 0x10079fd6
lea eax, [edx + 1]
jmp 0x10079fd8
mov eax, ecx
mov bl, byte [ebp - 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10078c00
test bl, bl
je 0x1007a13f
jmp 0x1007a135
cmp eax, 0x5e
jne 0x1007a046
push 2
lea ecx, [esi + 0x24]
call fcn.1007a180
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1007a03a
cmp byte [eax], 0x5c
jne 0x1007a038
inc eax
cmp eax, ecx
je 0x1007a038
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1007a027
mov dl, byte [eax]
cmp dl, 0x28
je 0x1007a036
cmp dl, 0x29
je 0x1007a036
test cl, 0x10
jne 0x1007a038
mov al, byte [eax]
cmp al, 0x7b
je 0x1007a036
cmp al, 0x7d
jne 0x1007a038
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.10078c00
jmp 0x1007a13f
cmp eax, 0x24
jne 0x1007a09d
push 3
lea ecx, [esi + 0x24]
call fcn.1007a180
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1007a091
cmp byte [eax], 0x5c
jne 0x1007a08f
inc eax
cmp eax, ecx
je 0x1007a08f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1007a07e
mov dl, byte [eax]
cmp dl, 0x28
je 0x1007a08d
cmp dl, 0x29
je 0x1007a08d
test cl, 0x10
jne 0x1007a08f
mov al, byte [eax]
cmp al, 0x7b
je 0x1007a08d
cmp al, 0x7d
jne 0x1007a08f
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.10078c00
jmp 0x1007a13f
cmp eax, 0x2a
je 0x1007a15b
cmp eax, 0x2b
je 0x1007a15b
cmp eax, 0x3f
je 0x1007a15b
cmp eax, 0x7b
je 0x1007a15b
cmp eax, 0x7d
jne 0x1007a0d5
test dword [esi + 0x50], 0x10000000
je 0x1007a169
jmp 0x1007a0e7
cmp eax, 0x5d
jne 0x1007a0e7
test dword [esi + 0x50], 0x10000000
je 0x1007a170
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1007b630
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1007a12e
cmp byte [eax], 0x5c
jne 0x1007a12c
inc eax
cmp eax, ecx
je 0x1007a12c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1007a11b
mov dl, byte [eax]
cmp dl, 0x28
je 0x1007a12a
cmp dl, 0x29
je 0x1007a12a
test cl, 0x10
jne 0x1007a12c
mov al, byte [eax]
cmp al, 0x7b
je 0x1007a12a
cmp al, 0x7d
jne 0x1007a12c
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.10078c00
mov ecx, esi
call fcn.1007b410
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x1007a152
cmp eax, 0x7c
jne 0x10079c73
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.10078bf0
push 5
call fcn.10078bf0
push 6
call fcn.10078bf0
push 4
call fcn.10078bf0
int3