Function at 0x4309c0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xc
mov edi, eax
mov esi, dword [edx]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x10], esi
mov ebx, esi
mov cl, byte [ebx]
lea eax, [ecx - 0x61]
cmp al, 0x19
lea eax, [ecx - 0x41]
setbe dl
cmp al, 0x19
setbe al
or eax, edx
test al, 1
jne 0x430a58
lea esi, [esi]
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x430a58
cmp cl, 0x2d
je 0x430a58
cmp cl, 0x2e
je 0x430a58
cmp cl, 0x5f
je 0x430a58
cmp cl, 0x7e
je 0x430a58
cmp cl, 0x25
je 0x430a87
cmp cl, 0x21
sete dl
cmp cl, 0x24
sete al
or eax, edx
test al, 1
jne 0x430a58
cmp cl, 0x26
je 0x430a58
cmp cl, 0x28
je 0x430a58
cmp cl, 0x29
je 0x430a58
cmp cl, 0x2a
je 0x430a58
cmp cl, 0x2b
je 0x430a58
cmp cl, 0x2c
je 0x430a58
cmp cl, 0x3b
je 0x430a58
cmp cl, 0x3d
je 0x430a58
cmp cl, 0x27
je 0x430a58
cmp cl, 0x3a
jne 0x430ad9
cmp cl, 0x25
je 0x430a7f
inc ebx
mov cl, byte [ebx]
lea eax, [ecx - 0x61]
cmp al, 0x19
lea eax, [ecx - 0x41]
setbe dl
cmp al, 0x19
setbe al
or eax, edx
test al, 1
je 0x4309f0
cmp cl, 0x25
jne 0x430a5d
add ebx, 3
jmp 0x4309d5
movzx esi, byte [ebx + 1]
lea eax, [esi - 0x30]
cmp al, 9
lea eax, [esi - 0x61]
setbe dl
cmp al, 5
setbe al
or eax, edx
test al, 1
jne 0x430aac
lea eax, [esi - 0x41]
cmp al, 5
ja 0x430a10
movzx esi, byte [ebx + 2]
lea eax, [esi - 0x30]
cmp al, 9
lea eax, [esi - 0x61]
setbe dl
cmp al, 5
setbe al
or eax, edx
test al, 1
jne 0x430a7f
lea eax, [esi - 0x41]
cmp al, 5
ja 0x430a10
add ebx, 3
jmp 0x4309d5
cmp cl, 0x40
je 0x430be4
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], esi
mov al, byte [esi]
mov ebx, esi
cmp al, 0x5b
je 0x430cee
sub eax, 0x30
cmp al, 9
jbe 0x430c30
mov cl, byte [ebx]
lea eax, [ecx - 0x61]
cmp al, 0x19
lea eax, [ecx - 0x41]
setbe dl
cmp al, 0x19
setbe al
or eax, edx
test al, 1
jne 0x430b81
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x430b81
cmp cl, 0x2d
je 0x430b81
cmp cl, 0x2e
je 0x430b81
cmp cl, 0x5f
je 0x430b81
cmp cl, 0x7e
je 0x430b81
cmp cl, 0x25
je 0x430b9b
mov cl, byte [ebx]
cmp cl, 0x21
sete dl
cmp cl, 0x24
sete al
or eax, edx
test al, 1
jne 0x430b81
cmp cl, 0x26
je 0x430b81
cmp cl, 0x28
je 0x430b81
cmp cl, 0x29
je 0x430b81
cmp cl, 0x2a
je 0x430b81
cmp cl, 0x2b
je 0x430b81
cmp cl, 0x2c
je 0x430b81
cmp cl, 0x3b
je 0x430b81
cmp cl, 0x3d
je 0x430b81
cmp cl, 0x27
jne 0x430c89
cmp byte [ebx], 0x25
je 0x430b90
inc ebx
mov dword [ebp - 0x14], ebx
jmp 0x430b04
add ebx, 3
mov dword [ebp - 0x14], ebx
jmp 0x430b04
mov cl, byte [ebx + 1]
lea eax, [ecx - 0x30]
cmp al, 9
lea eax, [ecx - 0x61]
setbe dl
cmp al, 5
setbe al
or eax, edx
test al, 1
jne 0x430bbf
lea eax, [ecx - 0x41]
cmp al, 5
ja 0x430b3c
mov cl, byte [ebx + 2]
lea eax, [ecx - 0x30]
cmp al, 9
lea eax, [ecx - 0x61]
setbe dl
cmp al, 5
setbe al
or eax, edx
test al, 1
jne 0x430b81
lea eax, [ecx - 0x41]
cmp al, 5
jbe 0x430b81
jmp 0x430b3c
test edi, edi
je 0x430c1c
mov eax, dword [edi + 0x10]
test eax, eax
je 0x430bfc
sub esp, 0xc
push eax
call dword [0x69a2d0]
add esp, 0x10
test byte [edi + 0x24], 2
je 0x430d3e
mov eax, dword [ebp - 0x10]
mov edx, ebx
sub edx, eax
push esi
push esi
push edx
push eax
call fcn.00462260
add esp, 0x10
mov dword [edi + 0x10], eax
mov dword [ebp - 0x10], ebx
lea esi, [ebx + 1]
cmp byte [ebx], 0x40
jne 0x430ae2
jmp 0x430ae7
lea eax, [ebp - 0x14]
call fcn.0042f280
test eax, eax
jne 0x430c44
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x2e
je 0x430c4f
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ebx
jmp 0x430b04
lea ebx, [eax + 1]
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
call fcn.0042f280
test eax, eax
jne 0x430c44
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x2e
jne 0x430c44
lea eax, [ebp - 0x14]
call fcn.0042f280
test eax, eax
jne 0x430c44
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x2e
jne 0x430c44
lea eax, [ebp - 0x14]
call fcn.0042f280
test eax, eax
jne 0x430c44
test edi, edi
je 0x430cd0
mov eax, dword [edi + 8]
test eax, eax
jne 0x430dd4
mov eax, dword [edi + 0xc]
mov dword [edi + 8], 0
test eax, eax
jne 0x430dc2
mov ebx, dword [ebp - 0x14]
cmp ebx, esi
je 0x430db6
test byte [edi + 0x24], 2
je 0x430da5
sub ebx, esi
push edx
push edx
push ebx
push esi
call fcn.00462260
add esp, 0x10
mov dword [edi + 0xc], eax
mov ebx, dword [ebp - 0x14]
mov esi, ebx
mov dword [ebp - 0x10], ebx
cmp byte [esi], 0x3a
je 0x430d54
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [eax], esi
lea esp, [ebp - 0xc]
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
lea ebx, [esi + 1]
mov dword [ebp - 0x14], ebx
mov al, byte [esi + 1]
cmp al, 0x5d
setne dl
test al, al
setne al
and eax, 0xff
test edx, eax
je 0x430d2b
lea ecx, [esi + 2]
mov dword [ebp - 0x14], ecx
mov ebx, ecx
lea ecx, [ecx + 1]
mov al, byte [ecx - 1]
cmp al, 0x5d
setne dl
test al, al
setne al
and eax, 0xff
test edx, eax
jne 0x430d0d
mov edx, 1
cmp byte [ebx], 0x5d
jne 0x430ce4
inc ebx
mov dword [ebp - 0x14], ebx
jmp 0x430c89
mov eax, dword [ebp - 0x10]
mov edx, ebx
sub edx, eax
push ecx
push 0
push edx
push eax
call fcn.00430850
jmp 0x430c16
inc esi
mov edx, 1
mov dword [ebp - 0x10], esi
mov ecx, esi
mov al, byte [ebx + 1]
sub eax, 0x30
cmp al, 9
ja 0x430ce4
test edi, edi
je 0x430d78
mov dword [edi + 0x14], 0
mov dl, byte [ebx + 1]
lea eax, [edx - 0x30]
cmp al, 9
ja 0x430d9b
test edi, edi
je 0x430d96
mov eax, dword [edi + 0x14]
movsx edx, dl
lea eax, [eax + eax*4]
lea eax, [edx + eax*2 - 0x30]
mov dword [edi + 0x14], eax
inc ecx
mov dl, byte [ecx]
jmp 0x430d7b
mov esi, ecx
mov dword [ebp - 0x10], ecx
jmp 0x430cdd
sub ebx, esi
push eax
push 0
push ebx
push esi
call fcn.00430850
jmp 0x430cca
mov dword [edi + 0xc], 0
jmp 0x430cd3
sub esp, 0xc
push eax
call dword [0x69a2d0]
add esp, 0x10
jmp 0x430caa
sub esp, 0xc
push eax
call dword [0x69a2d0]
add esp, 0x10
jmp 0x430c98