Function at 0x4af5a0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x2c]
mov dl, byte [esi]
cmp dl, 0x2f
push edi
mov ebp, ecx
mov ebx, esi
jne 0x4af759
push 0x2f
lea ebx, [ebp + 0xc]
inc esi
push 1
mov ecx, ebx
mov dword [esp + 0x38], esi
call fcn.0048b950
mov dl, byte [esi]
test dl, dl
je 0x4af70f
cmp dl, 0x23
je 0x4af70f
cmp dl, 0x3f
je 0x4af70f
cmp dl, 0x61
jl 0x4af5f7
cmp dl, 0x7a
jle 0x4af6ee
cmp dl, 0x41
jl 0x4af605
cmp dl, 0x5a
jle 0x4af6ee
cmp dl, 0x30
jl 0x4af613
cmp dl, 0x39
jle 0x4af6ee
cmp dl, 0x2d
je 0x4af6ee
cmp dl, 0x2e
je 0x4af6ee
cmp dl, 0x5f
je 0x4af6ee
cmp dl, 0x7e
je 0x4af6ee
cmp dl, 0x21
je 0x4af6ee
cmp dl, 0x24
je 0x4af6ee
cmp dl, 0x26
je 0x4af6ee
cmp dl, 0x27
je 0x4af6ee
cmp dl, 0x28
je 0x4af6ee
cmp dl, 0x29
je 0x4af6ee
cmp dl, 0x2a
je 0x4af6ee
cmp dl, 0x2b
je 0x4af6ee
cmp dl, 0x2c
je 0x4af6ee
cmp dl, 0x3b
je 0x4af6ee
cmp dl, 0x3d
je 0x4af6ee
cmp dl, 0x3a
je 0x4af6ee
cmp dl, 0x40
je 0x4af6ee
cmp dl, 0x2f
je 0x4af6ee
lea eax, [esp + 0x30]
push eax
call fcn.004af3a0
add esp, 4
test al, al
je 0x4af6db
mov byte [esp + 0x34], dl
mov ecx, dword [esp + 0x34]
push ecx
push 1
mov ecx, ebx
inc esi
call fcn.0048b950
mov dl, byte [esi]
mov byte [esp + 0x10], dl
mov eax, dword [esp + 0x10]
push eax
push 1
mov ecx, ebx
inc esi
call fcn.0048b950
mov cl, byte [esi]
mov byte [esp + 0x14], cl
mov edx, dword [esp + 0x14]
push edx
jmp 0x4af6f7
mov eax, esi
push eax
inc esi
push ebx
mov dword [esp + 0x38], esi
call fcn.004af030
add esp, 8
jmp 0x4af705
mov byte [esp + 0x18], dl
mov eax, dword [esp + 0x18]
push eax
inc esi
mov ecx, ebx
push 1
mov dword [esp + 0x38], esi
call fcn.0048b950
mov dl, byte [esi]
test dl, dl
jne 0x4af5d7
mov al, byte [esp + 0x38]
test al, al
je 0x4afa36
mov ecx, dword [ebx]
mov eax, dword [ecx - 8]
inc eax
push eax
mov ecx, ebx
call fcn.0048b480
mov edi, eax
push 1
push edi
call fcn.004aeec0
add esp, 8
test edi, edi
je 0x4af750
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4af740
sub eax, edx
mov ecx, ebx
jmp 0x4afa30
xor eax, eax
mov ecx, ebx
jmp 0x4afa30
test dl, dl
je 0x4afa3a
mov al, byte [esp + 0x34]
test al, al
je 0x4af8b1
lea ecx, [ecx]
cmp dl, 0x23
je 0x4af9f6
cmp dl, 0x3f
je 0x4af9f6
cmp dl, 0x61
jl 0x4af790
cmp dl, 0x7a
jle 0x4af88a
cmp dl, 0x41
jl 0x4af79e
cmp dl, 0x5a
jle 0x4af88a
cmp dl, 0x30
jl 0x4af7ac
cmp dl, 0x39
jle 0x4af88a
cmp dl, 0x2d
je 0x4af88a
cmp dl, 0x2e
je 0x4af88a
cmp dl, 0x5f
je 0x4af88a
cmp dl, 0x7e
je 0x4af88a
cmp dl, 0x21
je 0x4af88a
cmp dl, 0x24
je 0x4af88a
cmp dl, 0x26
je 0x4af88a
cmp dl, 0x27
je 0x4af88a
cmp dl, 0x28
je 0x4af88a
cmp dl, 0x29
je 0x4af88a
cmp dl, 0x2a
je 0x4af88a
cmp dl, 0x2b
je 0x4af88a
cmp dl, 0x2c
je 0x4af88a
cmp dl, 0x3b
je 0x4af88a
cmp dl, 0x3d
je 0x4af88a
cmp dl, 0x40
je 0x4af88a
cmp dl, 0x2f
je 0x4af88a
lea eax, [esp + 0x30]
push eax
call fcn.004af3a0
add esp, 4
test al, al
je 0x4af874
mov byte [esp + 0x34], dl
mov ecx, dword [esp + 0x34]
push ecx
lea edi, [ebp + 0xc]
push 1
mov ecx, edi
inc esi
call fcn.0048b950
mov dl, byte [esi]
mov byte [esp + 0x18], dl
mov eax, dword [esp + 0x18]
push eax
push 1
mov ecx, edi
inc esi
call fcn.0048b950
mov cl, byte [esi]
mov byte [esp + 0x14], cl
mov edx, dword [esp + 0x14]
push edx
mov ecx, edi
jmp 0x4af896
mov eax, esi
push eax
lea eax, [ebp + 0xc]
inc esi
push eax
mov dword [esp + 0x38], esi
call fcn.004af030
add esp, 8
jmp 0x4af8a2
mov byte [esp + 0x10], dl
mov ecx, dword [esp + 0x10]
push ecx
lea ecx, [ebp + 0xc]
inc esi
push 1
mov dword [esp + 0x38], esi
call fcn.0048b950
mov dl, byte [esi]
test dl, dl
jne 0x4af770
jmp 0x4af9f6
cmp dl, 0x23
je 0x4af9f6
cmp dl, 0x3f
je 0x4af9f6
cmp dl, 0x61
jl 0x4af8d1
cmp dl, 0x7a
jle 0x4af9d4
cmp dl, 0x41
jl 0x4af8df
cmp dl, 0x5a
jle 0x4af9d4
cmp dl, 0x30
jl 0x4af8ed
cmp dl, 0x39
jle 0x4af9d4
cmp dl, 0x2d
je 0x4af9d4
cmp dl, 0x2e
je 0x4af9d4
cmp dl, 0x5f
je 0x4af9d4
cmp dl, 0x7e
je 0x4af9d4
cmp dl, 0x21
je 0x4af9d4
cmp dl, 0x24
je 0x4af9d4
cmp dl, 0x26
je 0x4af9d4
cmp dl, 0x27
je 0x4af9d4
cmp dl, 0x28
je 0x4af9d4
cmp dl, 0x29
je 0x4af9d4
cmp dl, 0x2a
je 0x4af9d4
cmp dl, 0x2b
je 0x4af9d4
cmp dl, 0x2c
je 0x4af9d4
cmp dl, 0x3b
je 0x4af9d4
cmp dl, 0x3d
je 0x4af9d4
cmp dl, 0x3a
je 0x4af9d4
cmp dl, 0x40
je 0x4af9d4
cmp dl, 0x2f
je 0x4af9d4
lea eax, [esp + 0x30]
push eax
call fcn.004af3a0
add esp, 4
test al, al
je 0x4af9be
mov byte [esp + 0x34], dl
mov ecx, dword [esp + 0x34]
push ecx
lea edi, [ebp + 0xc]
push 1
mov ecx, edi
inc esi
call fcn.0048b950
mov dl, byte [esi]
mov byte [esp + 0x18], dl
mov eax, dword [esp + 0x18]
push eax
push 1
mov ecx, edi
inc esi
call fcn.0048b950
mov cl, byte [esi]
mov byte [esp + 0x14], cl
mov edx, dword [esp + 0x14]
push edx
mov ecx, edi
jmp 0x4af9e0
mov eax, esi
push eax
lea eax, [ebp + 0xc]
inc esi
push eax
mov dword [esp + 0x38], esi
call fcn.004af030
add esp, 8
jmp 0x4af9ec
mov byte [esp + 0x10], dl
mov ecx, dword [esp + 0x10]
push ecx
lea ecx, [ebp + 0xc]
inc esi
push 1
mov dword [esp + 0x38], esi
call fcn.0048b950
mov dl, byte [esi]
test dl, dl
jne 0x4af8b1
cmp esi, ebx
je 0x4afa3a
mov al, byte [esp + 0x38]
test al, al
je 0x4afa36
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx - 8]
lea eax, [ebp + 0xc]
inc ecx
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.0042ac90
mov edi, dword [esp + 0x20]
push 0
push edi
call fcn.004aeec0
push edi
call fcn.00401000
mov ecx, dword [esp + 0x28]
add esp, 0xc
push eax
call fcn.0048b4b0
or dword [ebp + 0x28], 0x10
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0xc