Function at 0x4b0050
Capabilities:
Parse credit card information

Disassembly:
sub esp, 8
push ebx
push ebp
mov ebp, dword [esp + 0x14]
cmp byte [ebp], 0x5b
push esi
push edi
mov edi, ecx
mov dword [esp + 0x10], edi
jne 0x4b00f9
lea eax, [esp + 0x1c]
lea esi, [ebp + 1]
push eax
mov dword [esp + 0x20], esi
call fcn.004afdd0
add esp, 4
test al, al
je 0x4b00d1
mov ebx, dword [esp + 0x1c]
cmp byte [ebx], 0x5d
jne 0x4b00d1
inc ebx
mov esi, ebx
sub esi, ebp
lea ecx, [edi + 0x1c]
push esi
mov dword [edi + 0x24], 2
mov dword [esp + 0x20], esi
call fcn.0048b480
mov ecx, esi
mov edx, ecx
shr ecx, 2
mov edi, eax
mov esi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov eax, edx
push eax
add ecx, 0x1c
call fcn.0048b4b0
mov edi, dword [esp + 0x10]
jmp 0x4b0151
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x20], esi
call fcn.004aff40
add esp, 4
test al, al
je 0x4b014f
mov ebx, dword [esp + 0x1c]
cmp byte [ebx], 0x5d
jne 0x4b014f
inc ebx
mov dword [edi + 0x24], 3
jmp 0x4b0115
lea ecx, [esp + 0x1c]
push ecx
call fcn.004af150
add esp, 4
test al, al
je 0x4b014f
mov ebx, dword [esp + 0x1c]
mov dword [edi + 0x24], 1
mov esi, ebx
sub esi, ebp
lea ecx, [edi + 0x1c]
push esi
mov dword [esp + 0x20], esi
call fcn.0048b480
mov ecx, esi
mov edx, ecx
shr ecx, 2
mov edi, eax
mov esi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov eax, edx
add ecx, 0x1c
push eax
call fcn.0048b4b0
mov edi, dword [esp + 0x10]
jmp 0x4b0151
mov ebx, ebp
mov eax, dword [edi + 0x24]
test eax, eax
jne 0x4b02ca
cmp byte [ebp], 0
mov ebx, ebp
je 0x4b02ca
jmp 0x4b0170
mov al, byte [ebx]
cmp al, 0x2f
je 0x4b02ca
cmp al, 0x3a
je 0x4b02ca
cmp al, 0x23
je 0x4b02ca
cmp al, 0x3f
je 0x4b02ca
cmp al, 0x61
jl 0x4b019e
cmp al, 0x7a
jle 0x4b02ad
cmp al, 0x41
jl 0x4b01aa
cmp al, 0x5a
jle 0x4b02ad
cmp al, 0x30
jl 0x4b01b6
cmp al, 0x39
jle 0x4b02ad
cmp al, 0x2d
je 0x4b02ad
cmp al, 0x2e
je 0x4b02ad
cmp al, 0x5f
je 0x4b02ad
cmp al, 0x7e
je 0x4b02ad
cmp al, 0x21
je 0x4b02ad
cmp al, 0x24
je 0x4b02ad
cmp al, 0x26
je 0x4b02ad
cmp al, 0x27
je 0x4b02ad
cmp al, 0x28
je 0x4b02ad
cmp al, 0x29
je 0x4b02ad
cmp al, 0x2a
je 0x4b02ad
cmp al, 0x2b
je 0x4b02ad
cmp al, 0x2c
je 0x4b02ad
cmp al, 0x3b
je 0x4b02ad
cmp al, 0x3d
je 0x4b02ad
cmp al, 0x25
jne 0x4b029b
mov al, byte [ebx + 1]
cmp al, 0x30
jl 0x4b023d
cmp al, 0x39
jle 0x4b024d
cmp al, 0x61
jl 0x4b0245
cmp al, 0x66
jle 0x4b024d
cmp al, 0x41
jl 0x4b029b
cmp al, 0x46
jg 0x4b029b
mov al, byte [ebx + 2]
cmp al, 0x30
jl 0x4b0258
cmp al, 0x39
jle 0x4b0268
cmp al, 0x61
jl 0x4b0260
cmp al, 0x66
jle 0x4b0268
cmp al, 0x41
jl 0x4b029b
cmp al, 0x46
jg 0x4b029b
push 0x25
lea esi, [edi + 0x1c]
push 1
mov ecx, esi
inc ebx
call fcn.0048b950
mov cl, byte [ebx]
mov byte [esp + 0x1c], cl
mov edx, dword [esp + 0x1c]
push edx
push 1
mov ecx, esi
inc ebx
call fcn.0048b950
mov al, byte [ebx]
mov byte [esp + 0x10], al
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, esi
jmp 0x4b02b9
mov eax, ebx
push eax
lea edx, [edi + 0x1c]
push edx
inc ebx
call fcn.004af030
add esp, 8
jmp 0x4b02c1
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x14]
push eax
lea ecx, [edi + 0x1c]
push 1
inc ebx
call fcn.0048b950
cmp byte [ebx], 0
jne 0x4b0170
or dword [edi + 0x28], 4
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 8
ret 4