Function at 0x44370f
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 0x443b8c
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 0x443827
je 0x44381d
cmp edx, 0xffffffff
je 0x443816
cmp edx, 0x24
je 0x44380c
cmp edx, 0x28
je 0x4437c9
cmp edx, 0x29
je 0x4437bf
cmp edx, 0x2a
je 0x443798
cmp edx, 0x2b
jne 0x443859
or dword [esi + 0x10], 0xffffffff
xor eax, eax
inc eax
mov dword [esi + 0xc], eax
cmp ecx, 0x3f
jne 0x443b6b
and dword [esi + 4], 0
jmp 0x443b64
or dword [esi + 0x10], 0xffffffff
xor edi, edi
mov dword [esi + 0xc], edi
cmp ecx, 0x3f
jne 0x4437b3
mov ebx, 0x1802
mov dword [esi + 4], edi
jmp 0x443b73
mov dword [esi + 4], 1
jmp 0x443b6e
mov ebx, 0xc16
jmp 0x443b73
cmp ecx, 0x3f
jne 0x443802
cmp dword [edi + 0x18], 0x3d
jne 0x4437de
mov ebx, 0x2407
jmp 0x443b73
cmp dword [edi + 0x18], 0x21
jne 0x4437ee
mov ebx, 0x2408
jmp 0x443b73
cmp dword [edi + 0x18], 0x3a
jne 0x443ba6
mov ebx, 0x2413
jmp 0x443b73
mov ebx, 0xc12
jmp 0x443b73
mov ebx, 0xc04
jmp 0x443b73
xor ebx, ebx
jmp 0x443b73
mov ebx, 0xc09
jmp 0x443b73
mov eax, edx
sub eax, 0x3f
je 0x443b51
sub eax, 0x1c
je 0x443b3f
sub eax, 1
je 0x443992
push 2
pop ebx
sub eax, ebx
je 0x443988
sub eax, 0x1d
je 0x443870
sub eax, 1
je 0x443866
mov ebx, 0xc0a
mov dword [esi + 8], edx
jmp 0x443b73
mov ebx, 0xc01
jmp 0x443b73
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.004428e7
mov edx, dword [ebp]
mov ecx, dword [edx]
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x4438ce
inc dword [esp + 0x14]
cmp ecx, 0xff
ja 0x4438be
movsx ecx, byte [ecx + 0x6c3b20]
test ecx, ecx
jns 0x4438c1
or ecx, 0xffffffff
imul eax, dword [esp + 0x10], 0xa
add eax, ecx
mov dword [esp + 0x10], eax
jmp 0x443890
cmp ecx, 0x2c
jne 0x44390e
mov eax, dword [esp + 0x14]
cmp eax, 9
jg 0x44396c
cmp dword [esp + 0x18], 0xffffffff
jne 0x44396c
cmp dword [edx + 0xc], 0x7d
je 0x4438fb
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
jmp 0x443888
test eax, eax
je 0x44396c
mov eax, dword [esp + 0x10]
or dword [esi + 0x10], 0xffffffff
mov dword [esi + 0xc], eax
push 0x18
jmp 0x44393e
cmp ecx, 0x7d
jne 0x44396c
mov eax, dword [esp + 0x14]
cmp eax, 9
jg 0x44396c
test eax, eax
je 0x44396c
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x443932
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x10]
jmp 0x443939
mov eax, dword [esp + 0x10]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
push 0xc
pop edx
mov ecx, ebp
call fcn.004428e7
mov eax, dword [ebp]
cmp dword [eax], 0x3f
jne 0x443960
push 0xc
pop edx
mov ecx, ebp
mov dword [esi + 4], edi
call fcn.004428e7
jmp 0x443b73
mov dword [esi + 4], 1
jmp 0x443b73
lea edx, [esp + 0x1c]
mov ecx, ebp
call fcn.00442a3a
mov ebx, 0xc0a
mov dword [esi + 8], 0x7b
jmp 0x443b73
mov ebx, 0xc03
jmp 0x443b73
mov ebx, 0x180a
cmp ecx, 0x62
jne 0x4439a4
add ebx, 0xfffffffb
jmp 0x443b73
cmp ecx, 0x42
jne 0x4439b3
mov ebx, 0x1806
jmp 0x443b73
cmp ecx, 0x66
jne 0x4439c4
mov dword [esi + 8], 0xc
jmp 0x443b73
cmp ecx, 0x6e
jne 0x4439d5
mov dword [esi + 8], 0xa
jmp 0x443b73
cmp ecx, 0x74
jne 0x4439e6
mov dword [esi + 8], 9
jmp 0x443b73
cmp ecx, 0x72
jne 0x4439f7
mov dword [esi + 8], 0xd
jmp 0x443b73
cmp ecx, 0x76
jne 0x443a08
mov dword [esi + 8], 0xb
jmp 0x443b73
cmp ecx, 0x63
jne 0x443a40
mov ecx, dword [edi + 0x18]
cmp ecx, 0x61
jl 0x443a1a
cmp ecx, 0x7a
jle 0x443a26
lea eax, [ecx - 0x41]
cmp eax, 0x19
ja 0x443b09
and ecx, 0x8000001f
jns 0x443a33
dec ecx
or ecx, 0xffffffe0
inc ecx
mov dword [esi + 8], ecx
mov ebx, 0x240a
jmp 0x443b73
cmp ecx, 0x78
je 0x443b2e
cmp ecx, 0x75
je 0x443b2e
cmp ecx, 0x64
jne 0x443a61
mov ebx, 0x180b
jmp 0x443b73
cmp ecx, 0x44
jne 0x443a70
mov ebx, 0x180c
jmp 0x443b73
cmp ecx, 0x73
jne 0x443a7f
mov ebx, 0x180d
jmp 0x443b73
cmp ecx, 0x53
jne 0x443a8e
mov ebx, 0x180e
jmp 0x443b73
cmp ecx, 0x77
jne 0x443a9d
mov ebx, 0x180f
jmp 0x443b73
cmp ecx, 0x57
jne 0x443aac
mov ebx, 0x1810
jmp 0x443b73
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x443b25
cmp ecx, 0x30
jne 0x443acd
cmp dword [edi + 0x18], ecx
jl 0x443ac4
cmp dword [edi + 0x18], 0x39
jle 0x443b09
and dword [esi + 8], 0
jmp 0x443b73
xor edi, edi
mov ebx, edi
push 0xc
pop edx
mov ecx, ebp
call fcn.004428e7
mov eax, dword [ebp]
mov ecx, dword [eax]
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x443b1d
cmp ecx, 0xff
ja 0x443afb
movsx eax, byte [ecx + 0x6c3b20]
test eax, eax
jns 0x443afe
or eax, 0xffffffff
imul edi, edi, 0xa
add edi, eax
inc ebx
cmp ebx, 9
jl 0x443ad1
push 0x6e38a8
push 0x5000875
mov edx, 0x6e38c0
jmp 0x443bb5
push 0x11
pop ebx
mov dword [esi + 8], edi
jmp 0x443b73
test ecx, ecx
js 0x443b09
mov dword [esi + 8], ecx
jmp 0x443b73
xor edx, edx
mov ecx, ebp
call fcn.00442a88
push 0xa
mov dword [esi + 8], eax
pop ebx
jmp 0x443b73
cmp ecx, 0x5e
mov ebx, 0x1815
mov eax, 0xc14
cmovne ebx, eax
jmp 0x443b73
xor eax, eax
xor edi, edi
inc eax
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
cmp ecx, 0x3f
jne 0x443b6b
mov dword [esi + 4], edi
mov ebx, 0x1802
jmp 0x443b73
mov dword [esi + 4], eax
mov ebx, 0xc02
mov edx, ebx
mov ecx, ebp
shr edx, 8
call fcn.004428e7
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, 0x6e389c
push str.token_limit
push 0x871
call fcn.004171ba
push str.invalid_regexp_group
push 0x5000879
mov edx, 0x6e38e4
mov ecx, dword [ebp + 0x304]
call fcn.00417121
int3