Function at 0x45f500
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 0x45f967
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x45f967
cmp eax, 0x29
jne 0x45f540
cmp dword [esi + 0x10], 0
jne 0x45f967
test dword [esi + 0x50], 0x10000000
je 0x45f974
jmp 0x45f900
cmp eax, 0x2e
jne 0x45f593
push 5
lea ecx, [esi + 0x24]
call fcn.0045f990
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45f948
cmp byte [eax], 0x5c
jne 0x45f74f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x45f74f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x45f58b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x45f74d
cmp dl, 0x29
je 0x45f74d
test bl, 0x10
jmp 0x45f73f
cmp eax, 0x5c
jne 0x45f6b1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45f5da
cmp byte [eax], 0x5c
jne 0x45f5d7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x45f5d7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x45f5c4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x45f5d5
cmp dl, 0x29
je 0x45f5d5
test bl, 0x10
jne 0x45f5d7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x45f5d5
cmp dl, 0x7d
jne 0x45f5d7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0045e400
test byte [esi + 0x50], 0x80
je 0x45f6a5
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x45f646
push 4
lea ecx, [esi + 0x24]
call fcn.0045f990
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45f63a
cmp byte [eax], 0x5c
jne 0x45f637
lea ecx, [eax + 1]
cmp ecx, edx
je 0x45f637
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x45f624
mov dl, byte [ecx]
cmp dl, 0x28
je 0x45f635
cmp dl, 0x29
je 0x45f635
test bl, 0x10
jne 0x45f637
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x45f635
cmp dl, 0x7d
jne 0x45f637
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0045e400
jmp 0x45f959
cmp al, 0x42
jne 0x45f6a5
push 4
lea ecx, [esi + 0x24]
call fcn.0045f990
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45f699
cmp byte [eax], 0x5c
jne 0x45f696
lea ecx, [eax + 1]
cmp ecx, edx
je 0x45f696
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x45f683
mov al, byte [ecx]
cmp al, 0x28
je 0x45f694
cmp al, 0x29
je 0x45f694
mov eax, dword [esi]
test dl, 0x10
jne 0x45f696
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x45f694
cmp dl, 0x7d
jne 0x45f696
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0045e400
jmp 0x45f959
mov ecx, esi
call fcn.00460a60
jmp 0x45f94f
cmp eax, 0x5b
jne 0x45f757
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45f6f8
cmp byte [eax], 0x5c
jne 0x45f6f5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x45f6f5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x45f6e2
mov al, byte [ecx]
cmp al, 0x28
je 0x45f6f3
cmp al, 0x29
je 0x45f6f3
mov eax, dword [esi]
test dl, 0x10
jne 0x45f6f5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x45f6f3
cmp dl, 0x7d
jne 0x45f6f5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0045e400
mov ecx, esi
call fcn.00460930
cmp dword [esi + 0x4c], 0x5d
jne 0x45f982
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45f948
cmp byte [eax], 0x5c
jne 0x45f74f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x45f74f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x45f73c
mov al, byte [ecx]
cmp al, 0x28
je 0x45f74d
cmp al, 0x29
je 0x45f74d
mov eax, dword [esi]
test dl, 0x10
jne 0x45f74f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x45f74d
cmp dl, 0x7d
jne 0x45f74f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x45f948
cmp eax, 0x28
jne 0x45f80a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45f79e
cmp byte [eax], 0x5c
jne 0x45f79b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x45f79b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x45f788
mov al, byte [ecx]
cmp al, 0x28
je 0x45f799
cmp al, 0x29
je 0x45f799
mov eax, dword [esi]
test dl, 0x10
jne 0x45f79b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x45f799
cmp dl, 0x7d
jne 0x45f79b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0045e400
mov ecx, esi
call fcn.00460bb0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x45f974
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45f7f6
cmp byte [eax], 0x5c
jne 0x45f7f3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x45f7f3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x45f7e0
mov al, byte [ecx]
cmp al, 0x28
je 0x45f7f1
cmp al, 0x29
je 0x45f7f1
mov eax, dword [esi]
test dl, 0x10
jne 0x45f7f3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x45f7f1
cmp dl, 0x7d
jne 0x45f7f3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0045e400
test bl, bl
je 0x45f959
jmp 0x45f94f
cmp eax, 0x5e
jne 0x45f860
push 2
lea ecx, [esi + 0x24]
call fcn.0045f990
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45f854
cmp byte [eax], 0x5c
jne 0x45f852
inc eax
cmp eax, ecx
je 0x45f852
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x45f83f
mov dl, byte [eax]
cmp dl, 0x28
je 0x45f850
cmp dl, 0x29
je 0x45f850
test cl, 0x10
jne 0x45f852
mov cl, byte [eax]
cmp cl, 0x7b
je 0x45f850
cmp cl, 0x7d
jne 0x45f852
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0045e400
jmp 0x45f959
cmp eax, 0x24
jne 0x45f8b6
push 3
lea ecx, [esi + 0x24]
call fcn.0045f990
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45f8aa
cmp byte [eax], 0x5c
jne 0x45f8a8
inc eax
cmp eax, ecx
je 0x45f8a8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x45f895
mov dl, byte [eax]
cmp dl, 0x28
je 0x45f8a6
cmp dl, 0x29
je 0x45f8a6
test cl, 0x10
jne 0x45f8a8
mov cl, byte [eax]
cmp cl, 0x7b
je 0x45f8a6
cmp cl, 0x7d
jne 0x45f8a8
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0045e400
jmp 0x45f959
cmp eax, 0x2a
je 0x45f96d
cmp eax, 0x2b
je 0x45f96d
cmp eax, 0x3f
je 0x45f96d
cmp eax, 0x7b
je 0x45f96d
cmp eax, 0x7d
jne 0x45f8ee
test dword [esi + 0x50], 0x10000000
je 0x45f97b
jmp 0x45f900
cmp eax, 0x5d
jne 0x45f900
test dword [esi + 0x50], 0x10000000
je 0x45f982
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00460f40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45f948
cmp byte [eax], 0x5c
jne 0x45f946
inc eax
cmp eax, ecx
je 0x45f946
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x45f933
mov dl, byte [eax]
cmp dl, 0x28
je 0x45f944
cmp dl, 0x29
je 0x45f944
test cl, 0x10
jne 0x45f946
mov cl, byte [eax]
cmp cl, 0x7b
je 0x45f944
cmp cl, 0x7d
jne 0x45f946
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0045e400
mov ecx, esi
call fcn.00460d10
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x45f516
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.0045e3f0
push 5
call fcn.0045e3f0
push 6
call fcn.0045e3f0
push 4
call fcn.0045e3f0
int3