Function at 0x450460
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 0x4508c7
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x4508c7
cmp eax, 0x29
jne 0x4504a0
cmp dword [esi + 0x10], 0
jne 0x4508c7
test dword [esi + 0x50], 0x10000000
je 0x4508d4
jmp 0x450860
cmp eax, 0x2e
jne 0x4504f3
push 5
lea ecx, [esi + 0x24]
call fcn.004508f0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4508a8
cmp byte [eax], 0x5c
jne 0x4506af
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4506af
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4504eb
mov dl, byte [ecx]
cmp dl, 0x28
je 0x4506ad
cmp dl, 0x29
je 0x4506ad
test bl, 0x10
jmp 0x45069f
cmp eax, 0x5c
jne 0x450611
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45053a
cmp byte [eax], 0x5c
jne 0x450537
lea ecx, [eax + 1]
cmp ecx, edx
je 0x450537
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x450524
mov dl, byte [ecx]
cmp dl, 0x28
je 0x450535
cmp dl, 0x29
je 0x450535
test bl, 0x10
jne 0x450537
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x450535
cmp dl, 0x7d
jne 0x450537
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0044e850
test byte [esi + 0x50], 0x80
je 0x450605
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x4505a6
push 4
lea ecx, [esi + 0x24]
call fcn.004508f0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45059a
cmp byte [eax], 0x5c
jne 0x450597
lea ecx, [eax + 1]
cmp ecx, edx
je 0x450597
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x450584
mov dl, byte [ecx]
cmp dl, 0x28
je 0x450595
cmp dl, 0x29
je 0x450595
test bl, 0x10
jne 0x450597
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x450595
cmp dl, 0x7d
jne 0x450597
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0044e850
jmp 0x4508b9
cmp al, 0x42
jne 0x450605
push 4
lea ecx, [esi + 0x24]
call fcn.004508f0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4505f9
cmp byte [eax], 0x5c
jne 0x4505f6
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4505f6
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4505e3
mov al, byte [ecx]
cmp al, 0x28
je 0x4505f4
cmp al, 0x29
je 0x4505f4
mov eax, dword [esi]
test dl, 0x10
jne 0x4505f6
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4505f4
cmp dl, 0x7d
jne 0x4505f6
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0044e850
jmp 0x4508b9
mov ecx, esi
call fcn.004518a0
jmp 0x4508af
cmp eax, 0x5b
jne 0x4506b7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x450658
cmp byte [eax], 0x5c
jne 0x450655
lea ecx, [eax + 1]
cmp ecx, edx
je 0x450655
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x450642
mov al, byte [ecx]
cmp al, 0x28
je 0x450653
cmp al, 0x29
je 0x450653
mov eax, dword [esi]
test dl, 0x10
jne 0x450655
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x450653
cmp dl, 0x7d
jne 0x450655
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0044e850
mov ecx, esi
call fcn.00451720
cmp dword [esi + 0x4c], 0x5d
jne 0x4508e2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4508a8
cmp byte [eax], 0x5c
jne 0x4506af
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4506af
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x45069c
mov al, byte [ecx]
cmp al, 0x28
je 0x4506ad
cmp al, 0x29
je 0x4506ad
mov eax, dword [esi]
test dl, 0x10
jne 0x4506af
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4506ad
cmp dl, 0x7d
jne 0x4506af
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x4508a8
cmp eax, 0x28
jne 0x45076a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4506fe
cmp byte [eax], 0x5c
jne 0x4506fb
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4506fb
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4506e8
mov al, byte [ecx]
cmp al, 0x28
je 0x4506f9
cmp al, 0x29
je 0x4506f9
mov eax, dword [esi]
test dl, 0x10
jne 0x4506fb
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4506f9
cmp dl, 0x7d
jne 0x4506fb
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0044e850
mov ecx, esi
call fcn.00451a60
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x4508d4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x450756
cmp byte [eax], 0x5c
jne 0x450753
lea ecx, [eax + 1]
cmp ecx, edx
je 0x450753
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x450740
mov al, byte [ecx]
cmp al, 0x28
je 0x450751
cmp al, 0x29
je 0x450751
mov eax, dword [esi]
test dl, 0x10
jne 0x450753
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x450751
cmp dl, 0x7d
jne 0x450753
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0044e850
test bl, bl
je 0x4508b9
jmp 0x4508af
cmp eax, 0x5e
jne 0x4507c0
push 2
lea ecx, [esi + 0x24]
call fcn.004508f0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4507b4
cmp byte [eax], 0x5c
jne 0x4507b2
inc eax
cmp eax, ecx
je 0x4507b2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x45079f
mov dl, byte [eax]
cmp dl, 0x28
je 0x4507b0
cmp dl, 0x29
je 0x4507b0
test cl, 0x10
jne 0x4507b2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4507b0
cmp cl, 0x7d
jne 0x4507b2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0044e850
jmp 0x4508b9
cmp eax, 0x24
jne 0x450816
push 3
lea ecx, [esi + 0x24]
call fcn.004508f0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45080a
cmp byte [eax], 0x5c
jne 0x450808
inc eax
cmp eax, ecx
je 0x450808
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4507f5
mov dl, byte [eax]
cmp dl, 0x28
je 0x450806
cmp dl, 0x29
je 0x450806
test cl, 0x10
jne 0x450808
mov cl, byte [eax]
cmp cl, 0x7b
je 0x450806
cmp cl, 0x7d
jne 0x450808
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0044e850
jmp 0x4508b9
cmp eax, 0x2a
je 0x4508cd
cmp eax, 0x2b
je 0x4508cd
cmp eax, 0x3f
je 0x4508cd
cmp eax, 0x7b
je 0x4508cd
cmp eax, 0x7d
jne 0x45084e
test dword [esi + 0x50], 0x10000000
je 0x4508db
jmp 0x450860
cmp eax, 0x5d
jne 0x450860
test dword [esi + 0x50], 0x10000000
je 0x4508e2
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00451e40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4508a8
cmp byte [eax], 0x5c
jne 0x4508a6
inc eax
cmp eax, ecx
je 0x4508a6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x450893
mov dl, byte [eax]
cmp dl, 0x28
je 0x4508a4
cmp dl, 0x29
je 0x4508a4
test cl, 0x10
jne 0x4508a6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4508a4
cmp cl, 0x7d
jne 0x4508a6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0044e850
mov ecx, esi
call fcn.00451c10
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x450476
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.0044e840
push 5
call fcn.0044e840
push 6
call fcn.0044e840
push 4
call fcn.0044e840
int3