Function at 0x479ab0
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 0x479f17
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x479f17
cmp eax, 0x29
jne 0x479af0
cmp dword [esi + 0x10], 0
jne 0x479f17
test dword [esi + 0x50], 0x10000000
je 0x479f24
jmp 0x479eb0
cmp eax, 0x2e
jne 0x479b43
push 5
lea ecx, [esi + 0x24]
call fcn.00479f40
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x479ef8
cmp byte [eax], 0x5c
jne 0x479cff
lea ecx, [eax + 1]
cmp ecx, edx
je 0x479cff
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x479b3b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x479cfd
cmp dl, 0x29
je 0x479cfd
test bl, 0x10
jmp 0x479cef
cmp eax, 0x5c
jne 0x479c61
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x479b8a
cmp byte [eax], 0x5c
jne 0x479b87
lea ecx, [eax + 1]
cmp ecx, edx
je 0x479b87
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x479b74
mov dl, byte [ecx]
cmp dl, 0x28
je 0x479b85
cmp dl, 0x29
je 0x479b85
test bl, 0x10
jne 0x479b87
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x479b85
cmp dl, 0x7d
jne 0x479b87
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00476920
test byte [esi + 0x50], 0x80
je 0x479c55
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x479bf6
push 4
lea ecx, [esi + 0x24]
call fcn.00479f40
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x479bea
cmp byte [eax], 0x5c
jne 0x479be7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x479be7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x479bd4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x479be5
cmp dl, 0x29
je 0x479be5
test bl, 0x10
jne 0x479be7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x479be5
cmp dl, 0x7d
jne 0x479be7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00476920
jmp 0x479f09
cmp al, 0x42
jne 0x479c55
push 4
lea ecx, [esi + 0x24]
call fcn.00479f40
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x479c49
cmp byte [eax], 0x5c
jne 0x479c46
lea ecx, [eax + 1]
cmp ecx, edx
je 0x479c46
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x479c33
mov al, byte [ecx]
cmp al, 0x28
je 0x479c44
cmp al, 0x29
je 0x479c44
mov eax, dword [esi]
test dl, 0x10
jne 0x479c46
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x479c44
cmp dl, 0x7d
jne 0x479c46
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00476920
jmp 0x479f09
mov ecx, esi
call fcn.0047b460
jmp 0x479eff
cmp eax, 0x5b
jne 0x479d07
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x479ca8
cmp byte [eax], 0x5c
jne 0x479ca5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x479ca5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x479c92
mov al, byte [ecx]
cmp al, 0x28
je 0x479ca3
cmp al, 0x29
je 0x479ca3
mov eax, dword [esi]
test dl, 0x10
jne 0x479ca5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x479ca3
cmp dl, 0x7d
jne 0x479ca5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00476920
mov ecx, esi
call fcn.0047b330
cmp dword [esi + 0x4c], 0x5d
jne 0x479f32
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x479ef8
cmp byte [eax], 0x5c
jne 0x479cff
lea ecx, [eax + 1]
cmp ecx, edx
je 0x479cff
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x479cec
mov al, byte [ecx]
cmp al, 0x28
je 0x479cfd
cmp al, 0x29
je 0x479cfd
mov eax, dword [esi]
test dl, 0x10
jne 0x479cff
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x479cfd
cmp dl, 0x7d
jne 0x479cff
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x479ef8
cmp eax, 0x28
jne 0x479dba
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x479d4e
cmp byte [eax], 0x5c
jne 0x479d4b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x479d4b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x479d38
mov al, byte [ecx]
cmp al, 0x28
je 0x479d49
cmp al, 0x29
je 0x479d49
mov eax, dword [esi]
test dl, 0x10
jne 0x479d4b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x479d49
cmp dl, 0x7d
jne 0x479d4b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00476920
mov ecx, esi
call fcn.0047b5b0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x479f24
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x479da6
cmp byte [eax], 0x5c
jne 0x479da3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x479da3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x479d90
mov al, byte [ecx]
cmp al, 0x28
je 0x479da1
cmp al, 0x29
je 0x479da1
mov eax, dword [esi]
test dl, 0x10
jne 0x479da3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x479da1
cmp dl, 0x7d
jne 0x479da3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00476920
test bl, bl
je 0x479f09
jmp 0x479eff
cmp eax, 0x5e
jne 0x479e10
push 2
lea ecx, [esi + 0x24]
call fcn.00479f40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x479e04
cmp byte [eax], 0x5c
jne 0x479e02
inc eax
cmp eax, ecx
je 0x479e02
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x479def
mov dl, byte [eax]
cmp dl, 0x28
je 0x479e00
cmp dl, 0x29
je 0x479e00
test cl, 0x10
jne 0x479e02
mov cl, byte [eax]
cmp cl, 0x7b
je 0x479e00
cmp cl, 0x7d
jne 0x479e02
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00476920
jmp 0x479f09
cmp eax, 0x24
jne 0x479e66
push 3
lea ecx, [esi + 0x24]
call fcn.00479f40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x479e5a
cmp byte [eax], 0x5c
jne 0x479e58
inc eax
cmp eax, ecx
je 0x479e58
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x479e45
mov dl, byte [eax]
cmp dl, 0x28
je 0x479e56
cmp dl, 0x29
je 0x479e56
test cl, 0x10
jne 0x479e58
mov cl, byte [eax]
cmp cl, 0x7b
je 0x479e56
cmp cl, 0x7d
jne 0x479e58
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00476920
jmp 0x479f09
cmp eax, 0x2a
je 0x479f1d
cmp eax, 0x2b
je 0x479f1d
cmp eax, 0x3f
je 0x479f1d
cmp eax, 0x7b
je 0x479f1d
cmp eax, 0x7d
jne 0x479e9e
test dword [esi + 0x50], 0x10000000
je 0x479f2b
jmp 0x479eb0
cmp eax, 0x5d
jne 0x479eb0
test dword [esi + 0x50], 0x10000000
je 0x479f32
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0047ba40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x479ef8
cmp byte [eax], 0x5c
jne 0x479ef6
inc eax
cmp eax, ecx
je 0x479ef6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x479ee3
mov dl, byte [eax]
cmp dl, 0x28
je 0x479ef4
cmp dl, 0x29
je 0x479ef4
test cl, 0x10
jne 0x479ef6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x479ef4
cmp cl, 0x7d
jne 0x479ef6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00476920
mov ecx, esi
call fcn.0047b810
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x479ac6
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00476910
push 5
call fcn.00476910
push 6
call fcn.00476910
push 4
call fcn.00476910
int3