Function at 0x66dfe0
Capabilities:
Parse credit card information

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x66e33c
sub esp, 0x3c
mov eax, dword [esp + 0x44]
lea ecx, [eax + 0x10]
test ecx, ecx
jl 0x66e323
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004e6ad0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 8]
cmp edx, ecx
jb 0x66e31e
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x40]
movzx ebx, byte [esp + 0x48]
mov ecx, dword [esp + 0x44]
xor ebp, ebp
xor esi, esi
jmp 0x66e042
inc ebp
mov dword [esp + 0x2c], esi
cmp ecx, ebp
jle 0x66e2c7
jbe 0x66e317
movzx edi, byte [edx + ebp]
xchg edi, eax
mov byte [esp + 0x2b], al
xchg edi, eax
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
ja 0x66e166
xchg edi, eax
cmp al, 0x25
xchg edi, eax
ja 0x66e13b
xchg edi, eax
cmp al, 0x21
xchg edi, eax
je 0x66e1b0
lea esi, [edi - 0x23]
xchg esi, eax
cmp al, 1
xchg esi, eax
ja 0x66e092
mov esi, dword [esp + 0x2c]
jmp 0x66e1b0
xchg edi, eax
cmp al, 0x25
xchg edi, eax
jne 0x66e132
test bl, bl
je 0x66e129
lea esi, [ebp + 2]
cmp ecx, esi
jle 0x66e129
lea edi, [ebp + 1]
cmp ecx, edi
jbe 0x66e310
movzx edi, byte [ebp + edx + 1]
lea ebx, [edi - 0x30]
cmp bl, 9
ja 0x66e0c8
cmp ecx, esi
jmp 0x66e0de
lea ebx, [edi - 0x61]
cmp bl, 5
ja 0x66e0d4
cmp ecx, esi
jmp 0x66e0de
lea ebx, [edi - 0x41]
cmp bl, 5
ja 0x66e11f
cmp ecx, esi
jbe 0x66e309
movzx ebx, byte [ebp + edx + 2]
lea esi, [ebx - 0x30]
xchg esi, eax
cmp al, 9
xchg esi, eax
jbe 0x66e105
lea esi, [ebx - 0x61]
xchg esi, eax
cmp al, 5
xchg esi, eax
jbe 0x66e105
add ebx, 0xffffffbf
cmp bl, 5
ja 0x66e113
movzx ebx, byte [esp + 0x48]
mov esi, dword [esp + 0x2c]
jmp 0x66e041
movzx ebx, byte [esp + 0x48]
movzx edi, byte [esp + 0x2b]
jmp 0x66e129
movzx ebx, byte [esp + 0x48]
movzx edi, byte [esp + 0x2b]
mov esi, dword [esp + 0x2c]
jmp 0x66e20b
mov esi, dword [esp + 0x2c]
jmp 0x66e1d0
xchg edi, eax
cmp al, 0x2c
xchg edi, eax
ja 0x66e152
xchg edi, eax
cmp al, 0x26
xchg edi, eax
je 0x66e1b0
xchg edi, eax
cmp al, 0x2a
xchg edi, eax
jae 0x66e1b0
jmp 0x66e1d0
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jbe 0x66e041
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
je 0x66e1b0
jmp 0x66e1d0
xchg edi, eax
cmp al, 0x40
xchg edi, eax
ja 0x66e19b
lea edx, [edi - 0x3a]
cmp dl, 1
ja 0x66e17b
mov edx, dword [esp + 0x40]
jmp 0x66e1b0
xchg edi, eax
cmp al, 0x3d
xchg edi, eax
jne 0x66e188
mov edx, dword [esp + 0x40]
jmp 0x66e1b0
xchg edi, eax
cmp al, 0x3f
xchg edi, eax
jb 0x66e195
mov edx, dword [esp + 0x40]
jmp 0x66e1b0
mov edx, dword [esp + 0x40]
jmp 0x66e1d0
xchg edi, eax
cmp al, 0x5d
xchg edi, eax
ja 0x66e1ba
xchg edi, eax
cmp al, 0x5b
xchg edi, eax
je 0x66e1b0
xchg edi, eax
cmp al, 0x5d
xchg edi, eax
jne 0x66e1d0
test bl, bl
jne 0x66e041
jmp 0x66e20b
xchg edi, eax
cmp al, 0x5f
xchg edi, eax
je 0x66e041
xchg edi, eax
cmp al, 0x7e
xchg edi, eax
je 0x66e041
lea ebx, [edi - 0x61]
cmp bl, 0x19
ja 0x66e1e2
movzx ebx, byte [esp + 0x48]
jmp 0x66e041
lea ebx, [edi - 0x41]
cmp bl, 0x19
ja 0x66e1f4
movzx ebx, byte [esp + 0x48]
jmp 0x66e041
lea ebx, [edi - 0x30]
cmp bl, 9
ja 0x66e206
movzx ebx, byte [esp + 0x48]
jmp 0x66e041
movzx ebx, byte [esp + 0x48]
cmp esi, ebp
ja 0x66e300
mov dword [esp + 0x30], ebp
mov dword [esp], eax
sub ebp, esi
mov ebx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and esi, ebp
lea ebp, [edx + esi]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.004e6da0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
lea eax, [0x6cd7a0]
mov dword [esp + 0x34], eax
movzx ecx, byte [esp + 0x2b]
movzx ecx, cl
lea edx, [0x963060]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x38], ecx
lea ecx, [0x79d380]
mov dword [esp], ecx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 4], ebx
lea ebp, [0x717a00]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 6
lea esi, [esp + 0x34]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 1
call fcn.004d0210
mov eax, dword [esp + 0x30]
lea esi, [eax + 1]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
movzx ebx, byte [esp + 0x48]
mov ebp, eax
mov eax, dword [esp + 0x4c]
jmp 0x66e041
cmp ecx, esi
jb 0x66e2f9
mov dword [esp], eax
sub ecx, esi
mov eax, ecx
neg ecx
sar ecx, 0x1f
and ecx, esi
add ecx, edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004e6da0
mov eax, dword [esp + 0x2c]
test eax, eax
setne al
mov byte [esp + 0x50], al
add esp, 0x3c
ret
mov eax, esi
call fcn.00463430
mov eax, esi
mov ecx, ebp
call fcn.00463430
mov eax, esi
call fcn.004633d0
mov eax, edi
call fcn.004633d0
mov eax, ebp
call fcn.004633d0
call fcn.00463410
lea eax, [0x6cd520]
mov dword [esp], eax
lea eax, [0x79ca7c]
mov dword [esp + 4], eax
call fcn.00437060
nop
call fcn.00461f40
jmp fcn.0066dfe0