Function at 0x408b30
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x409015
lea edi, [esi + 8]
nop word [eax + eax]
cmp eax, 0x7c
je 0x409015
cmp eax, 0x29
jne 0x408b7a
cmp dword [esi + 0x10], 0
jne 0x409015
test dword [esi + 0x50], 0x10000000
je 0x409025
jmp 0x408faf
cmp eax, 0x2e
jne 0x408be9
push 5
lea ecx, [esi + 0x24]
call fcn.00409040
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x408ff6
cmp byte [eax], 0x5c
jne 0x408deb
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x408bdf
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x408bbf
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x408bd4
cmp cl, 0x29
je 0x408bd4
mov ecx, eax
test bl, 0x10
jne 0x408bdf
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x408bd4
mov edx, ecx
cmp bl, 0x7d
jne 0x408bdf
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x408ff6
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x408ff6
cmp eax, 0x5c
jne 0x408d38
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x408c3e
cmp byte [eax], 0x5c
jne 0x408c3b
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x408c39
test byte [esi + 0x50], 8
jne 0x408c1e
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x408c34
cmp cl, 0x29
je 0x408c34
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x408c39
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x408c34
mov edx, ecx
cmp bl, 0x7d
jne 0x408c39
lea eax, [edx + 1]
jmp 0x408c3b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00407860
test byte [esi + 0x50], 0x80
je 0x408d2c
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x408cc5
push 4
lea ecx, [esi + 0x24]
call fcn.00409040
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x408cb9
cmp byte [eax], 0x5c
jne 0x408cb6
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x408cb4
test byte [esi + 0x50], 8
jne 0x408c8c
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x408ca2
cmp cl, 0x29
je 0x408ca2
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x408cb4
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x408ca2
mov edx, ecx
cmp bl, 0x7d
jne 0x408cb4
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.00407860
jmp 0x409007
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00407860
jmp 0x409007
cmp al, 0x42
jne 0x408d2c
push 4
lea ecx, [esi + 0x24]
call fcn.00409040
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x408d20
cmp byte [eax], 0x5c
jne 0x408d1d
lea ebx, [eax + 1]
cmp ebx, ecx
je 0x408d1d
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x408d07
mov dl, byte [ebx]
mov ecx, eax
cmp dl, 0x28
je 0x408d1a
cmp dl, 0x29
je 0x408d1a
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x408d1d
mov dl, byte [ebx]
mov ecx, eax
cmp dl, 0x7b
je 0x408d1a
cmp dl, 0x7d
jne 0x408d1d
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00407860
jmp 0x409007
mov ecx, esi
call fcn.00409ca0
jmp 0x408ffd
cmp eax, 0x5b
jne 0x408df3
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x408d89
cmp byte [eax], 0x5c
jne 0x408d86
lea edx, [eax + 1]
cmp edx, ecx
je 0x408d86
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x408d70
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x408d83
cmp byte [ebp - 1], 0x29
je 0x408d83
test bl, 0x10
jne 0x408d86
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x408d83
cmp dl, 0x7d
jne 0x408d86
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00407860
mov ecx, esi
call fcn.00409b60
cmp dword [esi + 0x4c], 0x5d
jne 0x409033
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x408ff6
cmp byte [eax], 0x5c
jne 0x408deb
lea edx, [eax + 1]
cmp edx, ecx
je 0x408deb
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x408dd5
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x408de8
cmp byte [ebp - 1], 0x29
je 0x408de8
test bl, 0x10
jne 0x408deb
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x408de8
cmp dl, 0x7d
jne 0x408deb
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x408ff6
cmp eax, 0x28
jne 0x408eb7
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x408e42
cmp byte [eax], 0x5c
jne 0x408e3f
lea edx, [eax + 1]
cmp edx, ecx
je 0x408e3f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x408e29
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x408e3c
cmp bl, 0x29
je 0x408e3c
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x408e3f
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x408e3c
cmp dl, 0x7d
jne 0x408e3f
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00407860
mov ecx, esi
call fcn.00409df0
cmp dword [esi + 0x4c], 0x29
mov bh, al
jne 0x409025
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x408ea3
cmp byte [eax], 0x5c
jne 0x408ea0
lea edx, [eax + 1]
cmp edx, ecx
je 0x408ea0
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x408e8a
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x408e9d
cmp bl, 0x29
je 0x408e9d
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x408ea0
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x408e9d
cmp dl, 0x7d
jne 0x408ea0
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00407860
test bh, bh
je 0x409007
jmp 0x408ffd
cmp eax, 0x5e
jne 0x408f0e
push 2
lea ecx, [esi + 0x24]
call fcn.00409040
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x408f02
cmp byte [eax], 0x5c
jne 0x408f00
inc eax
cmp eax, ecx
je 0x408f00
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x408eef
mov dl, byte [eax]
cmp dl, 0x28
je 0x408efe
cmp dl, 0x29
je 0x408efe
test cl, 0x10
jne 0x408f00
mov al, byte [eax]
cmp al, 0x7b
je 0x408efe
cmp al, 0x7d
jne 0x408f00
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00407860
jmp 0x409007
cmp eax, 0x24
jne 0x408f65
push 3
lea ecx, [esi + 0x24]
call fcn.00409040
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x408f59
cmp byte [eax], 0x5c
jne 0x408f57
inc eax
cmp eax, ecx
je 0x408f57
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x408f46
mov dl, byte [eax]
cmp dl, 0x28
je 0x408f55
cmp dl, 0x29
je 0x408f55
test cl, 0x10
jne 0x408f57
mov al, byte [eax]
cmp al, 0x7b
je 0x408f55
cmp al, 0x7d
jne 0x408f57
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00407860
jmp 0x409007
cmp eax, 0x2a
je 0x40901e
cmp eax, 0x2b
je 0x40901e
cmp eax, 0x3f
je 0x40901e
cmp eax, 0x7b
je 0x40901e
cmp eax, 0x7d
jne 0x408f9d
test dword [esi + 0x50], 0x10000000
je 0x40902c
jmp 0x408faf
cmp eax, 0x5d
jne 0x408faf
test dword [esi + 0x50], 0x10000000
je 0x409033
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0040a290
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x408ff6
cmp byte [eax], 0x5c
jne 0x408ff4
inc eax
cmp eax, ecx
je 0x408ff4
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x408fe3
mov dl, byte [eax]
cmp dl, 0x28
je 0x408ff2
cmp dl, 0x29
je 0x408ff2
test cl, 0x10
jne 0x408ff4
mov al, byte [eax]
cmp al, 0x7b
je 0x408ff2
cmp al, 0x7d
jne 0x408ff4
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00407860
mov ecx, esi
call fcn.0040a060
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x408b50
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.00407850
push 5
call fcn.00407850
push 6
call fcn.00407850
push 4
call fcn.00407850
int3