Function at 0x406eb0
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
mov edx, dword [esp + 0xc]
push ebp
push esi
push edi
mov ecx, 0x200
xor eax, eax
mov edi, 0x433018
xor ebx, ebx
xor esi, esi
rep stosd dword es:[edi], eax
mov dword [esp + 0x10], esi
mov edi, 0x433018
mov al, byte [esi + edx]
cmp al, 0x20
jne 0x406ee7
mov cl, byte [esi + edx + 1]
cmp cl, al
je 0x406f62
cmp cl, bl
je 0x406f62
cmp al, 0x60
je 0x406f62
cmp al, 0x7e
je 0x406f62
cmp al, 0x40
je 0x406f62
cmp al, 0x23
je 0x406f62
cmp al, 0x24
je 0x406f62
cmp al, 0x25
je 0x406f62
cmp al, 0x5e
je 0x406f62
cmp al, 0x2a
je 0x406f62
cmp al, 0x28
je 0x406f62
cmp al, 0x29
je 0x406f62
cmp al, 0x5f
je 0x406f62
cmp al, 0x3d
je 0x406f62
cmp al, 0x2b
je 0x406f62
cmp al, 0x5c
je 0x406f62
cmp al, 0x7c
je 0x406f62
cmp al, 0x5b
je 0x406f62
cmp al, 0x5d
je 0x406f62
cmp al, 0x7b
je 0x406f62
cmp al, 0x7d
je 0x406f62
cmp al, 0x3b
je 0x406f62
cmp al, 0x3a
je 0x406f62
cmp al, 0x27
je 0x406f62
cmp al, 0x22
je 0x406f62
cmp al, 0x2c
je 0x406f62
cmp al, 0x2e
je 0x406f62
cmp al, 0x2f
je 0x406f62
cmp al, 0x3c
je 0x406f62
cmp al, 0x3e
je 0x406f62
cmp al, 0x3f
je 0x406f62
cmp al, bl
mov byte [edi], al
je 0x406f70
inc edi
inc esi
cmp esi, 0x50
mov dword [esp + 0x10], esi
jl 0x406ed4
mov ecx, 0x14
xor eax, eax
mov edi, edx
push 0x433018
rep stosd dword es:[edi], eax
mov edi, 0x433018
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0040c460
lea ecx, [esp + 0x14]
lea edx, [esp + 0x1c]
push ecx
push edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], 1
call fcn.00407140
mov edi, dword [esp + 0x28]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x433018
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x18]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov cl, byte [0x433018]
xor esi, esi
cmp cl, bl
mov dword [esp + 0x10], esi
je 0x407034
mov eax, ecx
and eax, 0xff
lea edi, [eax + eax*8]
add eax, esi
lea eax, [eax + edi*2]
add edx, eax
cmp cl, 0x60
jae 0x40701e
add edx, 0x15
jmp 0x407021
sub edx, 0x15
mov cl, byte [esi + 0x433019]
inc esi
cmp cl, bl
jne 0x407003
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], edx
mov ecx, 0x80
xor eax, eax
mov edi, 0x433818
push edx
push str._06lu
push 0x433818
rep stosd dword es:[edi], eax
call fcn.0040b8ea
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenA]
add esp, 0xc
mov ecx, 0x200
xor eax, eax
mov edi, 0x433018
push 0x433818
rep stosd dword es:[edi], eax
mov dword [esp + 0x14], ebx
call ebp
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jge 0x4070b3
movsx edx, byte [ecx + 0x433818]
add edx, ecx
lea eax, [ecx*2 + 0x433018]
push edx
push str._02X
push eax
call fcn.0040b8ea
mov edi, dword [esp + 0x1c]
add esp, 0xc
inc edi
push 0x433818
mov dword [esp + 0x14], edi
call ebp
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jl 0x40707c
mov ecx, 0x80
mov eax, 0x20202020
mov edi, 0x433818
push 0x433018
rep stosd dword es:[edi], eax
mov dword [esp + 0x14], ebx
xor edi, edi
xor esi, esi
call ebp
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jge 0x407105
cmp edi, 3
jne 0x4070e3
xor edi, edi
inc esi
mov dl, byte [ecx + 0x433018]
inc ecx
mov byte [esi + 0x433818], dl
inc edi
push 0x433018
mov dword [esp + 0x14], ecx
inc esi
call ebp
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jl 0x4070db
mov edi, 0x433818
or ecx, 0xffffffff
xor eax, eax
mov byte [esi + 0x433818], bl
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret