Function at 0x450df0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov edi, edx
inc dword [ebp + 0x338]
mov eax, dword [ebp + 0x338]
cmp eax, dword [ebp + 0x33c]
jge 0x45123c
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov edx, dword [ebp]
mov esi, dword [edx]
mov ecx, dword [edx + 0xc]
lea eax, [esi + 1]
cmp eax, 0x7d
ja case.0x450e3b.0
movzx eax, byte [eax + 0x4512cc]
jmp dword [eax*4 + 0x451294]
mov ebx, 0xc01
jmp 0x4511f6
mov ebx, 0xc03
jmp 0x4511f6
mov ebx, 0xc04
jmp 0x4511f6
mov dword [edi + 0x10], 1
mov dword [edi + 0xc], 0
cmp ecx, 0x3f
jne 0x450e84
mov ebx, 0x1802
mov dword [edi + 4], 0
jmp 0x4511f6
mov ebx, 0xc02
mov dword [edi + 4], 1
jmp 0x4511f6
mov dword [edi + 0x10], 0xffffffff
jmp 0x450e67
mov dword [edi + 0xc], 1
mov dword [edi + 0x10], 0xffffffff
jmp 0x450e6e
mov eax, dword [edx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x18], eax
xor ebx, ebx
xor esi, esi
nop dword [eax + eax]
mov edx, 1
mov ecx, ebp
call fcn.0044f840
mov edx, dword [ebp]
mov ecx, dword [edx]
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x450f08
inc esi
cmp ecx, 0xff
ja 0x450efd
movsx ecx, byte [ecx + 0x5edce0]
test ecx, ecx
jns 0x450f00
or ecx, 0xffffffff
lea eax, [ebx + ebx*4]
lea ebx, [ecx + eax*2]
jmp 0x450ed0
cmp ecx, 0x2c
jne 0x450f42
cmp esi, 9
jg 0x450fa6
cmp dword [esp + 0x10], 0xffffffff
jne 0x450fa6
cmp dword [edx + 0xc], 0x7d
je 0x450f2d
mov dword [esp + 0x10], ebx
jmp 0x450ec4
test esi, esi
je 0x450fa6
mov dword [edi + 0xc], ebx
mov edx, 2
mov dword [edi + 0x10], 0xffffffff
jmp 0x450f69
cmp ecx, 0x7d
jne 0x450fa6
cmp esi, 9
jg 0x450fa6
test esi, esi
je 0x450fa6
mov eax, dword [esp + 0x10]
mov dword [edi + 0x10], ebx
cmp eax, 0xffffffff
je 0x450f61
mov dword [edi + 0xc], eax
jmp 0x450f64
mov dword [edi + 0xc], ebx
mov edx, 1
mov ecx, ebp
call fcn.0044f840
mov eax, dword [ebp]
cmp dword [eax], 0x3f
jne 0x450f95
mov edx, 1
mov dword [edi + 4], 0
mov ecx, ebp
call fcn.0044f840
mov ebx, 2
jmp 0x4511f6
mov dword [edi + 4], 1
mov ebx, 2
jmp 0x4511f6
mov eax, dword [esp + 0x14]
xor edx, edx
mov dword [ebp + 0x310], eax
mov ecx, ebp
mov eax, dword [esp + 0x18]
mov dword [ebp + 0x314], eax
lea eax, [ebp + 4]
mov dword [ebp], eax
call fcn.0044f6c0
mov dword [edi + 8], 0x7b
jmp 0x4511f1
mov ebx, 0xc09
jmp 0x4511f6
mov ebx, 0x180a
cmp ecx, 0x62
jne 0x450ff3
mov ebx, 0x1805
jmp 0x4511f6
cmp ecx, 0x42
jne 0x451002
mov ebx, 0x1806
jmp 0x4511f6
cmp ecx, 0x66
jne 0x451013
mov dword [edi + 8], 0xc
jmp 0x4511f6
cmp ecx, 0x6e
jne 0x451024
mov dword [edi + 8], 0xa
jmp 0x4511f6
cmp ecx, 0x74
jne 0x451035
mov dword [edi + 8], 9
jmp 0x4511f6
cmp ecx, 0x72
jne 0x451046
mov dword [edi + 8], 0xd
jmp 0x4511f6
cmp ecx, 0x76
jne 0x451057
mov dword [edi + 8], 0xb
jmp 0x4511f6
cmp ecx, 0x63
jne 0x45108f
mov ecx, dword [edx + 0x18]
cmp ecx, 0x61
jl 0x451069
cmp ecx, 0x7a
jle 0x451075
lea eax, [ecx - 0x41]
cmp eax, 0x19
ja 0x451256
and ecx, 0x8000001f
jns 0x451082
dec ecx
or ecx, 0xffffffe0
inc ecx
mov dword [edi + 8], ecx
mov ebx, 0x240a
jmp 0x4511f6
cmp ecx, 0x78
je 0x451187
cmp ecx, 0x75
je 0x451187
cmp ecx, 0x64
jne 0x4510b0
mov ebx, 0x180b
jmp 0x4511f6
cmp ecx, 0x44
jne 0x4510bf
mov ebx, 0x180c
jmp 0x4511f6
cmp ecx, 0x73
jne 0x4510ce
mov ebx, 0x180d
jmp 0x4511f6
cmp ecx, 0x53
jne 0x4510dd
mov ebx, 0x180e
jmp 0x4511f6
cmp ecx, 0x77
jne 0x4510ec
mov ebx, 0x180f
jmp 0x4511f6
cmp ecx, 0x57
jne 0x4510fb
mov ebx, 0x1810
jmp 0x4511f6
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x45117a
cmp ecx, 0x30
jne 0x451124
mov eax, dword [edx + 0x18]
cmp eax, ecx
jl 0x451118
cmp eax, 0x39
jle 0x451256
mov dword [edi + 8], 0
jmp 0x4511f6
xor esi, esi
xor ebx, ebx
nop dword [eax + eax]
mov edx, 1
mov ecx, ebp
call fcn.0044f840
mov eax, dword [ebp]
mov ecx, dword [eax]
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x451170
cmp ecx, 0xff
ja 0x45115c
movsx ecx, byte [ecx + 0x5edce0]
test ecx, ecx
jns 0x45115f
or ecx, 0xffffffff
inc ebx
lea eax, [esi + esi*4]
lea esi, [ecx + eax*2]
cmp ebx, 9
jl 0x451130
jmp 0x451256
mov ebx, 0x11
mov dword [edi + 8], esi
jmp 0x4511f6
test ecx, ecx
js 0x451256
mov dword [edi + 8], ecx
jmp 0x4511f6
xor edx, edx
mov ecx, ebp
call fcn.0044fac0
mov dword [edi + 8], eax
mov ebx, 0xa
jmp 0x4511f6
cmp ecx, 0x3f
jne 0x4511ca
mov eax, dword [edx + 0x18]
cmp eax, 0x3d
jne 0x4511ae
mov ebx, 0x2407
jmp 0x4511f6
cmp eax, 0x21
jne 0x4511ba
mov ebx, 0x2408
jmp 0x4511f6
cmp eax, 0x3a
jne 0x451275
mov ebx, 0x2413
jmp 0x4511f6
mov ebx, 0xc12
jmp 0x4511f6
mov ebx, 0xc16
jmp 0x4511f6
cmp ecx, 0x5e
mov ebx, 0x1815
mov eax, 0xc14
cmovne ebx, eax
jmp 0x4511f6
xor ebx, ebx
jmp 0x4511f6
mov dword [edi + 8], esi
mov ebx, 0xc0a
mov eax, ebx
shr eax, 8
add dword [ebp], eax
mov eax, ebp
mov ecx, dword [ebp]
sub eax, ecx
add eax, 0x304
mov dword [esp + 0x18], eax
cmp eax, 0x48
jae 0x45122f
push eax
push ecx
lea esi, [ebp + 4]
push esi
call fcn.005864d0
mov edx, dword [esp + 0x24]
add esp, 0xc
mov ecx, ebp
mov dword [ebp], esi
call fcn.0044f6c0
movzx eax, bl
mov dword [edi], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [ebp + 0x304]
mov edx, 0x607d54
push str.token_limit
push 0x300086f
call fcn.0040d970
mov ecx, dword [ebp + 0x304]
mov edx, 5
push 0x873
push 0x607d78
push 0x607d60
call fcn.0042fde0
mov ecx, dword [ebp + 0x304]
mov edx, 5
push 0x877
push 0x607d9c
push str.invalid_regexp_group
call fcn.0042fde0
ljmp 0x450e