Function at 0x497540
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 0x4979a7
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x4979a7
cmp eax, 0x29
jne 0x497580
cmp dword [esi + 0x10], 0
jne 0x4979a7
test dword [esi + 0x50], 0x10000000
je 0x4979b4
jmp 0x497940
cmp eax, 0x2e
jne 0x4975d3
push 5
lea ecx, [esi + 0x24]
call fcn.004979d0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x497988
cmp byte [eax], 0x5c
jne 0x49778f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x49778f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4975cb
mov dl, byte [ecx]
cmp dl, 0x28
je 0x49778d
cmp dl, 0x29
je 0x49778d
test bl, 0x10
jmp 0x49777f
cmp eax, 0x5c
jne 0x4976f1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x49761a
cmp byte [eax], 0x5c
jne 0x497617
lea ecx, [eax + 1]
cmp ecx, edx
je 0x497617
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x497604
mov dl, byte [ecx]
cmp dl, 0x28
je 0x497615
cmp dl, 0x29
je 0x497615
test bl, 0x10
jne 0x497617
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x497615
cmp dl, 0x7d
jne 0x497617
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004943b0
test byte [esi + 0x50], 0x80
je 0x4976e5
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x497686
push 4
lea ecx, [esi + 0x24]
call fcn.004979d0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x49767a
cmp byte [eax], 0x5c
jne 0x497677
lea ecx, [eax + 1]
cmp ecx, edx
je 0x497677
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x497664
mov dl, byte [ecx]
cmp dl, 0x28
je 0x497675
cmp dl, 0x29
je 0x497675
test bl, 0x10
jne 0x497677
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x497675
cmp dl, 0x7d
jne 0x497677
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004943b0
jmp 0x497999
cmp al, 0x42
jne 0x4976e5
push 4
lea ecx, [esi + 0x24]
call fcn.004979d0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4976d9
cmp byte [eax], 0x5c
jne 0x4976d6
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4976d6
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4976c3
mov al, byte [ecx]
cmp al, 0x28
je 0x4976d4
cmp al, 0x29
je 0x4976d4
mov eax, dword [esi]
test dl, 0x10
jne 0x4976d6
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4976d4
cmp dl, 0x7d
jne 0x4976d6
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004943b0
jmp 0x497999
mov ecx, esi
call fcn.00498ef0
jmp 0x49798f
cmp eax, 0x5b
jne 0x497797
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x497738
cmp byte [eax], 0x5c
jne 0x497735
lea ecx, [eax + 1]
cmp ecx, edx
je 0x497735
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x497722
mov al, byte [ecx]
cmp al, 0x28
je 0x497733
cmp al, 0x29
je 0x497733
mov eax, dword [esi]
test dl, 0x10
jne 0x497735
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x497733
cmp dl, 0x7d
jne 0x497735
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004943b0
mov ecx, esi
call fcn.00498dc0
cmp dword [esi + 0x4c], 0x5d
jne 0x4979c2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x497988
cmp byte [eax], 0x5c
jne 0x49778f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x49778f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x49777c
mov al, byte [ecx]
cmp al, 0x28
je 0x49778d
cmp al, 0x29
je 0x49778d
mov eax, dword [esi]
test dl, 0x10
jne 0x49778f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x49778d
cmp dl, 0x7d
jne 0x49778f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x497988
cmp eax, 0x28
jne 0x49784a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4977de
cmp byte [eax], 0x5c
jne 0x4977db
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4977db
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4977c8
mov al, byte [ecx]
cmp al, 0x28
je 0x4977d9
cmp al, 0x29
je 0x4977d9
mov eax, dword [esi]
test dl, 0x10
jne 0x4977db
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4977d9
cmp dl, 0x7d
jne 0x4977db
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004943b0
mov ecx, esi
call fcn.00499040
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x4979b4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x497836
cmp byte [eax], 0x5c
jne 0x497833
lea ecx, [eax + 1]
cmp ecx, edx
je 0x497833
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x497820
mov al, byte [ecx]
cmp al, 0x28
je 0x497831
cmp al, 0x29
je 0x497831
mov eax, dword [esi]
test dl, 0x10
jne 0x497833
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x497831
cmp dl, 0x7d
jne 0x497833
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004943b0
test bl, bl
je 0x497999
jmp 0x49798f
cmp eax, 0x5e
jne 0x4978a0
push 2
lea ecx, [esi + 0x24]
call fcn.004979d0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x497894
cmp byte [eax], 0x5c
jne 0x497892
inc eax
cmp eax, ecx
je 0x497892
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x49787f
mov dl, byte [eax]
cmp dl, 0x28
je 0x497890
cmp dl, 0x29
je 0x497890
test cl, 0x10
jne 0x497892
mov cl, byte [eax]
cmp cl, 0x7b
je 0x497890
cmp cl, 0x7d
jne 0x497892
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004943b0
jmp 0x497999
cmp eax, 0x24
jne 0x4978f6
push 3
lea ecx, [esi + 0x24]
call fcn.004979d0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4978ea
cmp byte [eax], 0x5c
jne 0x4978e8
inc eax
cmp eax, ecx
je 0x4978e8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4978d5
mov dl, byte [eax]
cmp dl, 0x28
je 0x4978e6
cmp dl, 0x29
je 0x4978e6
test cl, 0x10
jne 0x4978e8
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4978e6
cmp cl, 0x7d
jne 0x4978e8
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004943b0
jmp 0x497999
cmp eax, 0x2a
je 0x4979ad
cmp eax, 0x2b
je 0x4979ad
cmp eax, 0x3f
je 0x4979ad
cmp eax, 0x7b
je 0x4979ad
cmp eax, 0x7d
jne 0x49792e
test dword [esi + 0x50], 0x10000000
je 0x4979bb
jmp 0x497940
cmp eax, 0x5d
jne 0x497940
test dword [esi + 0x50], 0x10000000
je 0x4979c2
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004994d0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x497988
cmp byte [eax], 0x5c
jne 0x497986
inc eax
cmp eax, ecx
je 0x497986
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x497973
mov dl, byte [eax]
cmp dl, 0x28
je 0x497984
cmp dl, 0x29
je 0x497984
test cl, 0x10
jne 0x497986
mov cl, byte [eax]
cmp cl, 0x7b
je 0x497984
cmp cl, 0x7d
jne 0x497986
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004943b0
mov ecx, esi
call fcn.004992a0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x497556
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.004943a0
push 5
call fcn.004943a0
push 6
call fcn.004943a0
push 4
call fcn.004943a0
int3