Function at 0x44210c
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 0x442589
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 0x442224
je 0x44221a
cmp edx, 0xffffffff
je 0x442213
cmp edx, 0x24
je 0x442209
cmp edx, 0x28
je 0x4421c6
cmp edx, 0x29
je 0x4421bc
cmp edx, 0x2a
je 0x442195
cmp edx, 0x2b
jne 0x442256
or dword [esi + 0x10], 0xffffffff
xor eax, eax
inc eax
mov dword [esi + 0xc], eax
cmp ecx, 0x3f
jne 0x442568
and dword [esi + 4], 0
jmp 0x442561
or dword [esi + 0x10], 0xffffffff
xor edi, edi
mov dword [esi + 0xc], edi
cmp ecx, 0x3f
jne 0x4421b0
mov ebx, 0x1802
mov dword [esi + 4], edi
jmp 0x442570
mov dword [esi + 4], 1
jmp 0x44256b
mov ebx, 0xc16
jmp 0x442570
cmp ecx, 0x3f
jne 0x4421ff
cmp dword [edi + 0x18], 0x3d
jne 0x4421db
mov ebx, 0x2407
jmp 0x442570
cmp dword [edi + 0x18], 0x21
jne 0x4421eb
mov ebx, 0x2408
jmp 0x442570
cmp dword [edi + 0x18], 0x3a
jne 0x4425a3
mov ebx, 0x2413
jmp 0x442570
mov ebx, 0xc12
jmp 0x442570
mov ebx, 0xc04
jmp 0x442570
xor ebx, ebx
jmp 0x442570
mov ebx, 0xc09
jmp 0x442570
mov eax, edx
sub eax, 0x3f
je 0x44254e
sub eax, 0x1c
je 0x44253c
sub eax, 1
je 0x44238f
push 2
pop ebx
sub eax, ebx
je 0x442385
sub eax, 0x1d
je 0x44226d
sub eax, 1
je 0x442263
mov ebx, 0xc0a
mov dword [esi + 8], edx
jmp 0x442570
mov ebx, 0xc01
jmp 0x442570
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.004412e4
mov edx, dword [ebp]
mov ecx, dword [edx]
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x4422cb
inc dword [esp + 0x14]
cmp ecx, 0xff
ja 0x4422bb
movsx ecx, byte [ecx + 0x6b6ab0]
test ecx, ecx
jns 0x4422be
or ecx, 0xffffffff
imul eax, dword [esp + 0x10], 0xa
add eax, ecx
mov dword [esp + 0x10], eax
jmp 0x44228d
cmp ecx, 0x2c
jne 0x44230b
mov eax, dword [esp + 0x14]
cmp eax, 9
jg 0x442369
cmp dword [esp + 0x18], 0xffffffff
jne 0x442369
cmp dword [edx + 0xc], 0x7d
je 0x4422f8
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
jmp 0x442285
test eax, eax
je 0x442369
mov eax, dword [esp + 0x10]
or dword [esi + 0x10], 0xffffffff
mov dword [esi + 0xc], eax
push 0x18
jmp 0x44233b
cmp ecx, 0x7d
jne 0x442369
mov eax, dword [esp + 0x14]
cmp eax, 9
jg 0x442369
test eax, eax
je 0x442369
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x44232f
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x10]
jmp 0x442336
mov eax, dword [esp + 0x10]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
push 0xc
pop edx
mov ecx, ebp
call fcn.004412e4
mov eax, dword [ebp]
cmp dword [eax], 0x3f
jne 0x44235d
push 0xc
pop edx
mov ecx, ebp
mov dword [esi + 4], edi
call fcn.004412e4
jmp 0x442570
mov dword [esi + 4], 1
jmp 0x442570
lea edx, [esp + 0x1c]
mov ecx, ebp
call fcn.00441437
mov ebx, 0xc0a
mov dword [esi + 8], 0x7b
jmp 0x442570
mov ebx, 0xc03
jmp 0x442570
mov ebx, 0x180a
cmp ecx, 0x62
jne 0x4423a1
add ebx, 0xfffffffb
jmp 0x442570
cmp ecx, 0x42
jne 0x4423b0
mov ebx, 0x1806
jmp 0x442570
cmp ecx, 0x66
jne 0x4423c1
mov dword [esi + 8], 0xc
jmp 0x442570
cmp ecx, 0x6e
jne 0x4423d2
mov dword [esi + 8], 0xa
jmp 0x442570
cmp ecx, 0x74
jne 0x4423e3
mov dword [esi + 8], 9
jmp 0x442570
cmp ecx, 0x72
jne 0x4423f4
mov dword [esi + 8], 0xd
jmp 0x442570
cmp ecx, 0x76
jne 0x442405
mov dword [esi + 8], 0xb
jmp 0x442570
cmp ecx, 0x63
jne 0x44243d
mov ecx, dword [edi + 0x18]
cmp ecx, 0x61
jl 0x442417
cmp ecx, 0x7a
jle 0x442423
lea eax, [ecx - 0x41]
cmp eax, 0x19
ja 0x442506
and ecx, 0x8000001f
jns 0x442430
dec ecx
or ecx, 0xffffffe0
inc ecx
mov dword [esi + 8], ecx
mov ebx, 0x240a
jmp 0x442570
cmp ecx, 0x78
je 0x44252b
cmp ecx, 0x75
je 0x44252b
cmp ecx, 0x64
jne 0x44245e
mov ebx, 0x180b
jmp 0x442570
cmp ecx, 0x44
jne 0x44246d
mov ebx, 0x180c
jmp 0x442570
cmp ecx, 0x73
jne 0x44247c
mov ebx, 0x180d
jmp 0x442570
cmp ecx, 0x53
jne 0x44248b
mov ebx, 0x180e
jmp 0x442570
cmp ecx, 0x77
jne 0x44249a
mov ebx, 0x180f
jmp 0x442570
cmp ecx, 0x57
jne 0x4424a9
mov ebx, 0x1810
jmp 0x442570
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x442522
cmp ecx, 0x30
jne 0x4424ca
cmp dword [edi + 0x18], ecx
jl 0x4424c1
cmp dword [edi + 0x18], 0x39
jle 0x442506
and dword [esi + 8], 0
jmp 0x442570
xor edi, edi
mov ebx, edi
push 0xc
pop edx
mov ecx, ebp
call fcn.004412e4
mov eax, dword [ebp]
mov ecx, dword [eax]
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x44251a
cmp ecx, 0xff
ja 0x4424f8
movsx eax, byte [ecx + 0x6b6ab0]
test eax, eax
jns 0x4424fb
or eax, 0xffffffff
imul edi, edi, 0xa
add edi, eax
inc ebx
cmp ebx, 9
jl 0x4424ce
push 0x6d5740
push 0x5000875
mov edx, 0x6d5758
jmp 0x4425b2
push 0x11
pop ebx
mov dword [esi + 8], edi
jmp 0x442570
test ecx, ecx
js 0x442506
mov dword [esi + 8], ecx
jmp 0x442570
xor edx, edx
mov ecx, ebp
call fcn.00441485
push 0xa
mov dword [esi + 8], eax
pop ebx
jmp 0x442570
cmp ecx, 0x5e
mov ebx, 0x1815
mov eax, 0xc14
cmovne ebx, eax
jmp 0x442570
xor eax, eax
xor edi, edi
inc eax
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
cmp ecx, 0x3f
jne 0x442568
mov dword [esi + 4], edi
mov ebx, 0x1802
jmp 0x442570
mov dword [esi + 4], eax
mov ebx, 0xc02
mov edx, ebx
mov ecx, ebp
shr edx, 8
call fcn.004412e4
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, 0x6d5734
push str.token_limit
push 0x871
call fcn.00415bb9
push str.invalid_regexp_group
push 0x5000879
mov edx, 0x6d577c
mov ecx, dword [ebp + 0x304]
call fcn.00415b20
int3