Function at 0x494060
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 0x4944c7
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x4944c7
cmp eax, 0x29
jne 0x4940a0
cmp dword [esi + 0x10], 0
jne 0x4944c7
test dword [esi + 0x50], 0x10000000
je 0x4944d4
jmp 0x494460
cmp eax, 0x2e
jne 0x4940f3
push 5
lea ecx, [esi + 0x24]
call fcn.004944f0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4944a8
cmp byte [eax], 0x5c
jne 0x4942af
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4942af
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4940eb
mov dl, byte [ecx]
cmp dl, 0x28
je 0x4942ad
cmp dl, 0x29
je 0x4942ad
test bl, 0x10
jmp 0x49429f
cmp eax, 0x5c
jne 0x494211
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x49413a
cmp byte [eax], 0x5c
jne 0x494137
lea ecx, [eax + 1]
cmp ecx, edx
je 0x494137
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x494124
mov dl, byte [ecx]
cmp dl, 0x28
je 0x494135
cmp dl, 0x29
je 0x494135
test bl, 0x10
jne 0x494137
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x494135
cmp dl, 0x7d
jne 0x494137
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00490ed0
test byte [esi + 0x50], 0x80
je 0x494205
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x4941a6
push 4
lea ecx, [esi + 0x24]
call fcn.004944f0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x49419a
cmp byte [eax], 0x5c
jne 0x494197
lea ecx, [eax + 1]
cmp ecx, edx
je 0x494197
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x494184
mov dl, byte [ecx]
cmp dl, 0x28
je 0x494195
cmp dl, 0x29
je 0x494195
test bl, 0x10
jne 0x494197
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x494195
cmp dl, 0x7d
jne 0x494197
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00490ed0
jmp 0x4944b9
cmp al, 0x42
jne 0x494205
push 4
lea ecx, [esi + 0x24]
call fcn.004944f0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4941f9
cmp byte [eax], 0x5c
jne 0x4941f6
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4941f6
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4941e3
mov al, byte [ecx]
cmp al, 0x28
je 0x4941f4
cmp al, 0x29
je 0x4941f4
mov eax, dword [esi]
test dl, 0x10
jne 0x4941f6
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4941f4
cmp dl, 0x7d
jne 0x4941f6
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00490ed0
jmp 0x4944b9
mov ecx, esi
call fcn.00495a10
jmp 0x4944af
cmp eax, 0x5b
jne 0x4942b7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x494258
cmp byte [eax], 0x5c
jne 0x494255
lea ecx, [eax + 1]
cmp ecx, edx
je 0x494255
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x494242
mov al, byte [ecx]
cmp al, 0x28
je 0x494253
cmp al, 0x29
je 0x494253
mov eax, dword [esi]
test dl, 0x10
jne 0x494255
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x494253
cmp dl, 0x7d
jne 0x494255
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00490ed0
mov ecx, esi
call fcn.004958e0
cmp dword [esi + 0x4c], 0x5d
jne 0x4944e2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4944a8
cmp byte [eax], 0x5c
jne 0x4942af
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4942af
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x49429c
mov al, byte [ecx]
cmp al, 0x28
je 0x4942ad
cmp al, 0x29
je 0x4942ad
mov eax, dword [esi]
test dl, 0x10
jne 0x4942af
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4942ad
cmp dl, 0x7d
jne 0x4942af
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x4944a8
cmp eax, 0x28
jne 0x49436a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4942fe
cmp byte [eax], 0x5c
jne 0x4942fb
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4942fb
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4942e8
mov al, byte [ecx]
cmp al, 0x28
je 0x4942f9
cmp al, 0x29
je 0x4942f9
mov eax, dword [esi]
test dl, 0x10
jne 0x4942fb
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4942f9
cmp dl, 0x7d
jne 0x4942fb
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00490ed0
mov ecx, esi
call fcn.00495b60
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x4944d4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x494356
cmp byte [eax], 0x5c
jne 0x494353
lea ecx, [eax + 1]
cmp ecx, edx
je 0x494353
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x494340
mov al, byte [ecx]
cmp al, 0x28
je 0x494351
cmp al, 0x29
je 0x494351
mov eax, dword [esi]
test dl, 0x10
jne 0x494353
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x494351
cmp dl, 0x7d
jne 0x494353
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00490ed0
test bl, bl
je 0x4944b9
jmp 0x4944af
cmp eax, 0x5e
jne 0x4943c0
push 2
lea ecx, [esi + 0x24]
call fcn.004944f0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4943b4
cmp byte [eax], 0x5c
jne 0x4943b2
inc eax
cmp eax, ecx
je 0x4943b2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x49439f
mov dl, byte [eax]
cmp dl, 0x28
je 0x4943b0
cmp dl, 0x29
je 0x4943b0
test cl, 0x10
jne 0x4943b2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4943b0
cmp cl, 0x7d
jne 0x4943b2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00490ed0
jmp 0x4944b9
cmp eax, 0x24
jne 0x494416
push 3
lea ecx, [esi + 0x24]
call fcn.004944f0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x49440a
cmp byte [eax], 0x5c
jne 0x494408
inc eax
cmp eax, ecx
je 0x494408
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4943f5
mov dl, byte [eax]
cmp dl, 0x28
je 0x494406
cmp dl, 0x29
je 0x494406
test cl, 0x10
jne 0x494408
mov cl, byte [eax]
cmp cl, 0x7b
je 0x494406
cmp cl, 0x7d
jne 0x494408
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00490ed0
jmp 0x4944b9
cmp eax, 0x2a
je 0x4944cd
cmp eax, 0x2b
je 0x4944cd
cmp eax, 0x3f
je 0x4944cd
cmp eax, 0x7b
je 0x4944cd
cmp eax, 0x7d
jne 0x49444e
test dword [esi + 0x50], 0x10000000
je 0x4944db
jmp 0x494460
cmp eax, 0x5d
jne 0x494460
test dword [esi + 0x50], 0x10000000
je 0x4944e2
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00495ff0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4944a8
cmp byte [eax], 0x5c
jne 0x4944a6
inc eax
cmp eax, ecx
je 0x4944a6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x494493
mov dl, byte [eax]
cmp dl, 0x28
je 0x4944a4
cmp dl, 0x29
je 0x4944a4
test cl, 0x10
jne 0x4944a6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4944a4
cmp cl, 0x7d
jne 0x4944a6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00490ed0
mov ecx, esi
call fcn.00495dc0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x494076
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00490ec0
push 5
call fcn.00490ec0
push 6
call fcn.00490ec0
push 4
call fcn.00490ec0
int3