Function at 0x479fb0
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 0x47a417
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x47a417
cmp eax, 0x29
jne 0x479ff0
cmp dword [esi + 0x10], 0
jne 0x47a417
test dword [esi + 0x50], 0x10000000
je 0x47a424
jmp 0x47a3b0
cmp eax, 0x2e
jne 0x47a043
push 5
lea ecx, [esi + 0x24]
call fcn.0047a440
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a3f8
cmp byte [eax], 0x5c
jne 0x47a1ff
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a1ff
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x47a03b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x47a1fd
cmp dl, 0x29
je 0x47a1fd
test bl, 0x10
jmp 0x47a1ef
cmp eax, 0x5c
jne 0x47a161
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a08a
cmp byte [eax], 0x5c
jne 0x47a087
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a087
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x47a074
mov dl, byte [ecx]
cmp dl, 0x28
je 0x47a085
cmp dl, 0x29
je 0x47a085
test bl, 0x10
jne 0x47a087
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a085
cmp dl, 0x7d
jne 0x47a087
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00476ea0
test byte [esi + 0x50], 0x80
je 0x47a155
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x47a0f6
push 4
lea ecx, [esi + 0x24]
call fcn.0047a440
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a0ea
cmp byte [eax], 0x5c
jne 0x47a0e7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a0e7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x47a0d4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x47a0e5
cmp dl, 0x29
je 0x47a0e5
test bl, 0x10
jne 0x47a0e7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a0e5
cmp dl, 0x7d
jne 0x47a0e7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00476ea0
jmp 0x47a409
cmp al, 0x42
jne 0x47a155
push 4
lea ecx, [esi + 0x24]
call fcn.0047a440
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a149
cmp byte [eax], 0x5c
jne 0x47a146
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a146
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47a133
mov al, byte [ecx]
cmp al, 0x28
je 0x47a144
cmp al, 0x29
je 0x47a144
mov eax, dword [esi]
test dl, 0x10
jne 0x47a146
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a144
cmp dl, 0x7d
jne 0x47a146
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00476ea0
jmp 0x47a409
mov ecx, esi
call fcn.0047b960
jmp 0x47a3ff
cmp eax, 0x5b
jne 0x47a207
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a1a8
cmp byte [eax], 0x5c
jne 0x47a1a5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a1a5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47a192
mov al, byte [ecx]
cmp al, 0x28
je 0x47a1a3
cmp al, 0x29
je 0x47a1a3
mov eax, dword [esi]
test dl, 0x10
jne 0x47a1a5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a1a3
cmp dl, 0x7d
jne 0x47a1a5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00476ea0
mov ecx, esi
call fcn.0047b830
cmp dword [esi + 0x4c], 0x5d
jne 0x47a432
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a3f8
cmp byte [eax], 0x5c
jne 0x47a1ff
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a1ff
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47a1ec
mov al, byte [ecx]
cmp al, 0x28
je 0x47a1fd
cmp al, 0x29
je 0x47a1fd
mov eax, dword [esi]
test dl, 0x10
jne 0x47a1ff
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a1fd
cmp dl, 0x7d
jne 0x47a1ff
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x47a3f8
cmp eax, 0x28
jne 0x47a2ba
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a24e
cmp byte [eax], 0x5c
jne 0x47a24b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a24b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47a238
mov al, byte [ecx]
cmp al, 0x28
je 0x47a249
cmp al, 0x29
je 0x47a249
mov eax, dword [esi]
test dl, 0x10
jne 0x47a24b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a249
cmp dl, 0x7d
jne 0x47a24b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00476ea0
mov ecx, esi
call fcn.0047bab0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x47a424
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a2a6
cmp byte [eax], 0x5c
jne 0x47a2a3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a2a3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47a290
mov al, byte [ecx]
cmp al, 0x28
je 0x47a2a1
cmp al, 0x29
je 0x47a2a1
mov eax, dword [esi]
test dl, 0x10
jne 0x47a2a3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a2a1
cmp dl, 0x7d
jne 0x47a2a3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00476ea0
test bl, bl
je 0x47a409
jmp 0x47a3ff
cmp eax, 0x5e
jne 0x47a310
push 2
lea ecx, [esi + 0x24]
call fcn.0047a440
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47a304
cmp byte [eax], 0x5c
jne 0x47a302
inc eax
cmp eax, ecx
je 0x47a302
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47a2ef
mov dl, byte [eax]
cmp dl, 0x28
je 0x47a300
cmp dl, 0x29
je 0x47a300
test cl, 0x10
jne 0x47a302
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47a300
cmp cl, 0x7d
jne 0x47a302
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00476ea0
jmp 0x47a409
cmp eax, 0x24
jne 0x47a366
push 3
lea ecx, [esi + 0x24]
call fcn.0047a440
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47a35a
cmp byte [eax], 0x5c
jne 0x47a358
inc eax
cmp eax, ecx
je 0x47a358
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47a345
mov dl, byte [eax]
cmp dl, 0x28
je 0x47a356
cmp dl, 0x29
je 0x47a356
test cl, 0x10
jne 0x47a358
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47a356
cmp cl, 0x7d
jne 0x47a358
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00476ea0
jmp 0x47a409
cmp eax, 0x2a
je 0x47a41d
cmp eax, 0x2b
je 0x47a41d
cmp eax, 0x3f
je 0x47a41d
cmp eax, 0x7b
je 0x47a41d
cmp eax, 0x7d
jne 0x47a39e
test dword [esi + 0x50], 0x10000000
je 0x47a42b
jmp 0x47a3b0
cmp eax, 0x5d
jne 0x47a3b0
test dword [esi + 0x50], 0x10000000
je 0x47a432
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0047bf40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47a3f8
cmp byte [eax], 0x5c
jne 0x47a3f6
inc eax
cmp eax, ecx
je 0x47a3f6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47a3e3
mov dl, byte [eax]
cmp dl, 0x28
je 0x47a3f4
cmp dl, 0x29
je 0x47a3f4
test cl, 0x10
jne 0x47a3f6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47a3f4
cmp cl, 0x7d
jne 0x47a3f6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00476ea0
mov ecx, esi
call fcn.0047bd10
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x479fc6
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00476e90
push 5
call fcn.00476e90
push 6
call fcn.00476e90
push 4
call fcn.00476e90
int3