Function at 0x4428a7
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x14
push ebp
mov ebp, ecx
push esi
mov esi, edx
inc dword [ebp + 0x338]
mov eax, dword [ebp + 0x338]
cmp eax, dword [ebp + 0x33c]
jge 0x442d24
push ebx
push edi
xor eax, eax
mov edi, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [ebp]
mov edx, dword [edi]
mov ecx, dword [edi + 0xc]
cmp edx, 0x2e
jg 0x4429bf
je 0x4429b5
cmp edx, 0xffffffff
je 0x4429ae
cmp edx, 0x24
je 0x4429a4
cmp edx, 0x28
je 0x442961
cmp edx, 0x29
je 0x442957
cmp edx, 0x2a
je 0x442930
cmp edx, 0x2b
jne 0x4429f1
or dword [esi + 0x10], 0xffffffff
xor eax, eax
inc eax
mov dword [esi + 0xc], eax
cmp ecx, 0x3f
jne 0x442d03
and dword [esi + 4], 0
jmp 0x442cfc
or dword [esi + 0x10], 0xffffffff
xor edi, edi
mov dword [esi + 0xc], edi
cmp ecx, 0x3f
jne 0x44294b
mov ebx, 0x1802
mov dword [esi + 4], edi
jmp 0x442d0b
mov dword [esi + 4], 1
jmp 0x442d06
mov ebx, 0xc16
jmp 0x442d0b
cmp ecx, 0x3f
jne 0x44299a
cmp dword [edi + 0x18], 0x3d
jne 0x442976
mov ebx, 0x2407
jmp 0x442d0b
cmp dword [edi + 0x18], 0x21
jne 0x442986
mov ebx, 0x2408
jmp 0x442d0b
cmp dword [edi + 0x18], 0x3a
jne 0x442d3e
mov ebx, 0x2413
jmp 0x442d0b
mov ebx, 0xc12
jmp 0x442d0b
mov ebx, 0xc04
jmp 0x442d0b
xor ebx, ebx
jmp 0x442d0b
mov ebx, 0xc09
jmp 0x442d0b
mov eax, edx
sub eax, 0x3f
je 0x442ce9
sub eax, 0x1c
je 0x442cd7
sub eax, 1
je 0x442b2a
push 2
pop ebx
sub eax, ebx
je 0x442b20
sub eax, 0x1d
je 0x442a08
sub eax, 1
je 0x4429fe
mov ebx, 0xc0a
mov dword [esi + 8], edx
jmp 0x442d0b
mov ebx, 0xc01
jmp 0x442d0b
mov ecx, dword [ebp]
xor edi, edi
or dword [esp + 0x18], 0xffffffff
mov eax, dword [ecx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edi
push 0xc
pop edx
mov ecx, ebp
call fcn.00441a7f
mov edx, dword [ebp]
mov ecx, dword [edx]
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x442a66
inc dword [esp + 0x14]
cmp ecx, 0xff
ja 0x442a56
movsx ecx, byte [ecx + 0x6bbb00]
test ecx, ecx
jns 0x442a59
or ecx, 0xffffffff
imul eax, dword [esp + 0x10], 0xa
add eax, ecx
mov dword [esp + 0x10], eax
jmp 0x442a28
cmp ecx, 0x2c
jne 0x442aa6
mov eax, dword [esp + 0x14]
cmp eax, 9
jg 0x442b04
cmp dword [esp + 0x18], 0xffffffff
jne 0x442b04
cmp dword [edx + 0xc], 0x7d
je 0x442a93
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
jmp 0x442a20
test eax, eax
je 0x442b04
mov eax, dword [esp + 0x10]
or dword [esi + 0x10], 0xffffffff
mov dword [esi + 0xc], eax
push 0x18
jmp 0x442ad6
cmp ecx, 0x7d
jne 0x442b04
mov eax, dword [esp + 0x14]
cmp eax, 9
jg 0x442b04
test eax, eax
je 0x442b04
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x442aca
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x10]
jmp 0x442ad1
mov eax, dword [esp + 0x10]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
push 0xc
pop edx
mov ecx, ebp
call fcn.00441a7f
mov eax, dword [ebp]
cmp dword [eax], 0x3f
jne 0x442af8
push 0xc
pop edx
mov ecx, ebp
mov dword [esi + 4], edi
call fcn.00441a7f
jmp 0x442d0b
mov dword [esi + 4], 1
jmp 0x442d0b
lea edx, [esp + 0x1c]
mov ecx, ebp
call fcn.00441bd2
mov ebx, 0xc0a
mov dword [esi + 8], 0x7b
jmp 0x442d0b
mov ebx, 0xc03
jmp 0x442d0b
mov ebx, 0x180a
cmp ecx, 0x62
jne 0x442b3c
add ebx, 0xfffffffb
jmp 0x442d0b
cmp ecx, 0x42
jne 0x442b4b
mov ebx, 0x1806
jmp 0x442d0b
cmp ecx, 0x66
jne 0x442b5c
mov dword [esi + 8], 0xc
jmp 0x442d0b
cmp ecx, 0x6e
jne 0x442b6d
mov dword [esi + 8], 0xa
jmp 0x442d0b
cmp ecx, 0x74
jne 0x442b7e
mov dword [esi + 8], 9
jmp 0x442d0b
cmp ecx, 0x72
jne 0x442b8f
mov dword [esi + 8], 0xd
jmp 0x442d0b
cmp ecx, 0x76
jne 0x442ba0
mov dword [esi + 8], 0xb
jmp 0x442d0b
cmp ecx, 0x63
jne 0x442bd8
mov ecx, dword [edi + 0x18]
cmp ecx, 0x61
jl 0x442bb2
cmp ecx, 0x7a
jle 0x442bbe
lea eax, [ecx - 0x41]
cmp eax, 0x19
ja 0x442ca1
and ecx, 0x8000001f
jns 0x442bcb
dec ecx
or ecx, 0xffffffe0
inc ecx
mov dword [esi + 8], ecx
mov ebx, 0x240a
jmp 0x442d0b
cmp ecx, 0x78
je 0x442cc6
cmp ecx, 0x75
je 0x442cc6
cmp ecx, 0x64
jne 0x442bf9
mov ebx, 0x180b
jmp 0x442d0b
cmp ecx, 0x44
jne 0x442c08
mov ebx, 0x180c
jmp 0x442d0b
cmp ecx, 0x73
jne 0x442c17
mov ebx, 0x180d
jmp 0x442d0b
cmp ecx, 0x53
jne 0x442c26
mov ebx, 0x180e
jmp 0x442d0b
cmp ecx, 0x77
jne 0x442c35
mov ebx, 0x180f
jmp 0x442d0b
cmp ecx, 0x57
jne 0x442c44
mov ebx, 0x1810
jmp 0x442d0b
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x442cbd
cmp ecx, 0x30
jne 0x442c65
cmp dword [edi + 0x18], ecx
jl 0x442c5c
cmp dword [edi + 0x18], 0x39
jle 0x442ca1
and dword [esi + 8], 0
jmp 0x442d0b
xor edi, edi
mov ebx, edi
push 0xc
pop edx
mov ecx, ebp
call fcn.00441a7f
mov eax, dword [ebp]
mov ecx, dword [eax]
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x442cb5
cmp ecx, 0xff
ja 0x442c93
movsx eax, byte [ecx + 0x6bbb00]
test eax, eax
jns 0x442c96
or eax, 0xffffffff
imul edi, edi, 0xa
add edi, eax
inc ebx
cmp ebx, 9
jl 0x442c69
push 0x6dab1c
push 0x5000875
mov edx, 0x6dab34
jmp 0x442d4d
push 0x11
pop ebx
mov dword [esi + 8], edi
jmp 0x442d0b
test ecx, ecx
js 0x442ca1
mov dword [esi + 8], ecx
jmp 0x442d0b
xor edx, edx
mov ecx, ebp
call fcn.00441c20
push 0xa
mov dword [esi + 8], eax
pop ebx
jmp 0x442d0b
cmp ecx, 0x5e
mov ebx, 0x1815
mov eax, 0xc14
cmovne ebx, eax
jmp 0x442d0b
xor eax, eax
xor edi, edi
inc eax
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
cmp ecx, 0x3f
jne 0x442d03
mov dword [esi + 4], edi
mov ebx, 0x1802
jmp 0x442d0b
mov dword [esi + 4], eax
mov ebx, 0xc02
mov edx, ebx
mov ecx, ebp
shr edx, 8
call fcn.00441a7f
pop edi
movzx eax, bl
pop ebx
mov dword [esi], eax
pop esi
pop ebp
add esp, 0x14
ret
mov ecx, dword [ebp + 0x304]
mov edx, 0x6dab10
push str.token_limit
push 0x871
call fcn.0041634b
push str.invalid_regexp_group
push 0x5000879
mov edx, 0x6dab58
mov ecx, dword [ebp + 0x304]
call fcn.004162b2
int3