Function at 0x10042b20
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
sub esp, 0x18
cmp dword [eax + 0x3c], 7
jne 0x10042b3c
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x1c4], 1
push ebx
push edi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
lea edx, [edi + 1]
push ebx
push edx
call dword [sym.imp.pskalloc.dll_Pmalloc]
add esp, 8
mov dword [ebp - 0x18], eax
cmp eax, ebx
je 0x10042e67
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], ebx
cmp edi, ebx
jbe 0x10042e5d
push esi
jmp 0x10042b70
mov eax, dword [ebp + 8]
lea esi, [ebx + eax]
mov al, byte [esi]
mov byte [ebp - 1], al
cmp al, 0x2f
jne 0x10042bc1
lea ecx, [ebx + 4]
cmp ecx, edi
jae 0x10042e43
mov ecx, dword [ebp + 8]
cmp byte [ebx + ecx + 1], 0x43
jne 0x10042e43
cmp byte [ebx + ecx + 2], 0x3a
jne 0x10042e43
cmp byte [ebx + ecx + 3], 0x5c
jne 0x10042e43
cmp byte [ebx + ecx + 4], 0
jne 0x10042e43
add ebx, 3
jmp 0x10042e50
cmp al, 0x28
jne 0x10042c15
lea edx, [ebx + 5]
cmp edx, edi
jae 0x10042be9
push 4
push 0x100d3934
push esi
call dword [sym.imp.pscr80.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x10042be9
add ebx, 4
jmp 0x10042e50
lea eax, [ebx + 5]
cmp eax, edi
jae 0x10042e50
push 4
push str._c:_
push esi
call dword [sym.imp.pscr80.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x10042e50
add ebx, 8
jmp 0x10042e50
cmp al, 0x63
je 0x10042c21
cmp al, 0x43
jne 0x10042d59
lea ecx, [ebx + 4]
cmp ecx, edi
jae 0x10042cc5
push 3
push 0x100d3948
push esi
call dword [sym.imp.pscr80.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x10042cc2
lea edx, [eax + 4]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
lea ecx, [esi + 4]
mov al, byte [ecx]
cmp al, 0x5c
jne 0x10042c5d
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
cmp al, 0x2e
jne 0x10042c67
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
test al, al
jne 0x10042c75
cmp byte [esi + edx + 1], al
je 0x10042d96
cmp al, 0x2c
je 0x10042d96
cmp al, 0x3a
je 0x10042d96
cmp al, 0x2f
je 0x10042d96
cmp al, 0x3f
je 0x10042d96
cmp al, 0x2a
je 0x10042d96
cmp al, 0x7c
je 0x10042d96
cmp al, 0x3c
je 0x10042d96
cmp al, 0x3e
je 0x10042d96
add edx, 2
lea eax, [edx + ebx]
add ecx, 2
cmp eax, edi
jb 0x10042c51
mov al, byte [ebp - 1]
lea edx, [ebx + 4]
cmp edx, edi
jae 0x10042d59
mov eax, dword [ebp + 8]
push 3
lea esi, [ebx + eax]
push 0x100d3950
push esi
call dword [sym.imp.pscr80.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x10042d56
xor edi, edi
lea edx, [eax + 2]
mov dword [ebp - 0x14], edi
lea ecx, [esi + 2]
mov al, byte [ecx]
cmp al, 0x5c
jne 0x10042d02
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x14], ecx
cmp al, 0x2e
jne 0x10042d08
mov edi, ecx
test al, al
jne 0x10042d16
cmp byte [esi + edx + 1], al
je 0x10042daf
cmp al, 0x2c
je 0x10042daf
cmp al, 0x3a
je 0x10042daf
cmp al, 0x2f
je 0x10042daf
cmp al, 0x3f
je 0x10042daf
cmp al, 0x2a
je 0x10042daf
cmp al, 0x7c
je 0x10042daf
cmp al, 0x3c
je 0x10042daf
cmp al, 0x3e
je 0x10042daf
inc edx
lea eax, [edx + ebx]
mov ebx, dword [ebp - 8]
inc ecx
cmp eax, dword [ebp + 0xc]
jb 0x10042cf6
mov edi, dword [ebp + 0xc]
mov al, byte [ebp - 1]
cmp al, 0x20
je 0x10042d65
cmp al, 0x22
je 0x10042d65
cmp al, 0x26
jne 0x10042dc1
lea ecx, [ebx + 4]
cmp ecx, edi
jae 0x10042dc1
mov edx, dword [ebp + 8]
push 4
lea eax, [ebx + edx + 1]
push 0x100cc864
push eax
call dword [sym.imp.pscr80.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x10042dbe
mov eax, dword [ebp + 0x10]
inc dword [eax + 0x1cc]
jmp 0x10042e50
mov ecx, dword [ebp - 0x10]
mov al, byte [ebp - 1]
cmp dword [ebp - 0x14], ecx
ja 0x10042cc5
add ebx, edx
mov dword [ebp - 8], ebx
jmp 0x10042cc5
cmp edi, dword [ebp - 0x14]
mov al, byte [ebp - 1]
mov edi, dword [ebp + 0xc]
ja 0x10042d59
add ebx, edx
jmp 0x10042d59
mov al, byte [ebp - 1]
cmp al, 0x3b
jne 0x10042dfb
lea ecx, [ebx + 4]
cmp ecx, edi
jae 0x10042e50
mov edx, dword [ebp + 8]
push 4
lea eax, [ebx + edx + 1]
push str.sal
push eax
call dword [sym.imp.pscr80.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x10042e50
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x1d4], 1
jmp 0x10042e50
cmp al, 0x3d
jne 0x10042e0a
mov eax, dword [ebp + 0x10]
inc dword [eax + 0x1d0]
jmp 0x10042e50
lea edx, [eax - 0x21]
cmp dl, 0x5c
ja 0x10042e50
cmp al, 0x26
jl 0x10042e1a
cmp al, 0x2d
jle 0x10042e50
cmp al, 0x22
je 0x10042e50
cmp al, 0x23
je 0x10042e50
cmp al, 0x3f
je 0x10042e50
cmp al, 0x60
je 0x10042e50
cmp al, 0x5e
jne 0x10042e39
mov eax, dword [ebp + 0x10]
inc dword [eax + 0x1c8]
jmp 0x10042e50
lea ecx, [eax - 0x41]
cmp cl, 0x19
ja 0x10042e43
or al, 0x20
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x18]
mov byte [edx + ecx], al
inc ecx
mov dword [ebp - 0xc], ecx
inc ebx
mov dword [ebp - 8], ebx
cmp ebx, edi
jb 0x10042b70
pop esi
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov byte [eax + ecx], 0
pop edi
pop ebx
mov esp, ebp
pop ebp
ret