Function at 0x1007284c
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
and dword [ebp - 0xc], 0
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov ecx, ebx
mov dword [ebp - 8], edx
mov dword [ebp - 0x1c], eax
call fcn.100379dd
test dl, 0x40
jne 0x10072883
cmp dword [0x100ce914], 0
je 0x10072bae
push 5
pop ecx
cmp eax, ecx
jl 0x10072bae
mov edi, str.file:
mov esi, ebx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10072bae
or dword [ebp - 8], 0x40
xor esi, esi
cmp eax, esi
mov dword [ebp + 8], esi
lea edi, [eax + 2]
jle 0x100728bf
xor ecx, ecx
cmp byte [esi + ebx], 0x26
sete cl
add edi, ecx
inc esi
cmp esi, eax
jl 0x100728af
push edi
call fcn.10035d6e
pop ecx
mov dword [ebp - 4], eax
test eax, eax
jne 0x100728d5
push 7
pop eax
jmp 0x10072c29
cmp byte [ebx + 5], 0x2f
jne 0x1007292e
cmp byte [ebx + 6], 0x2f
jne 0x1007292e
lea edi, [ebx + 7]
mov al, byte [edi]
push 7
pop edx
mov dword [ebp - 0x24], edi
test al, al
je 0x10072931
cmp al, 0x2f
je 0x100728fc
inc edx
mov al, byte [edx + ebx]
test al, al
jne 0x100728f0
cmp edx, 7
je 0x10072931
cmp edx, 0x10
jne 0x10072917
push 9
pop ecx
mov esi, str.localhost
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10072931
mov edi, dword [ebp - 0x24]
push edi
add edx, 0xfffffff9
push edx
push str.invalid_uri_authority:__.s
call fcn.1003721c
add esp, 0xc
jmp 0x10072bfd
push 5
pop edx
mov al, byte [edx + ebx]
xor esi, esi
test al, al
je 0x10072a6a
cmp al, 0x23
je 0x10072a58
inc edx
cmp al, 0x25
jne 0x100729e7
mov cl, byte [edx + ebx]
movzx edi, cl
test byte [edi + 0x100ad030], 8
je 0x100729e7
movzx edi, byte [edx + ebx + 1]
test byte [edi + 0x100ad030], 8
je 0x100729e7
inc edx
movsx eax, byte [edx + ebx]
mov dword [ebp - 0x18], eax
movsx ecx, cl
mov eax, ecx
sar eax, 6
and al, 1
mov bl, 7
imul bl
sub cl, al
mov eax, dword [ebp - 0x18]
sar eax, 6
and al, 1
imul bl
mov bl, al
mov eax, dword [ebp - 0x18]
sub al, bl
mov ebx, dword [ebp + 0xc]
and ecx, 0xf
shl ecx, 4
and eax, 0xf
add ecx, eax
inc edx
test ecx, ecx
je 0x100729de
mov al, cl
jmp 0x10072a41
cmp al, 0x23
je 0x10072a4d
test esi, esi
jne 0x100729c7
cmp al, 0x3f
je 0x10072a4d
cmp esi, 1
jne 0x100729d4
cmp al, 0x3d
je 0x10072a4d
cmp al, 0x26
je 0x10072a4d
cmp esi, 2
jne 0x100729dd
cmp al, 0x26
je 0x10072a4d
inc edx
mov al, byte [edx + ebx]
test al, al
jne 0x100729b3
jmp 0x10072a4d
cmp esi, 1
jne 0x10072a2b
cmp al, 0x26
je 0x100729f4
cmp al, 0x3d
jne 0x10072a41
mov edi, dword [ebp - 4]
mov ecx, dword [ebp + 8]
cmp byte [edi + ecx - 1], 0
je 0x10072a1b
cmp al, 0x26
jne 0x10072a24
mov byte [edi + ecx], 0
inc ecx
mov dword [ebp + 8], ecx
jmp 0x10072a27
cmp al, 0x23
je 0x10072a4d
cmp byte [edx + ebx - 1], 0x26
je 0x10072a4d
inc edx
mov al, byte [edx + ebx]
test al, al
jne 0x10072a0f
jmp 0x10072a4d
push 2
pop esi
xor al, al
jmp 0x10072a41
test esi, esi
jne 0x10072a33
cmp al, 0x3f
je 0x10072a3c
cmp esi, 2
jne 0x10072a41
cmp al, 0x26
jne 0x10072a41
xor esi, esi
xor al, al
inc esi
mov edi, dword [ebp + 8]
mov ecx, dword [ebp - 4]
inc dword [ebp + 8]
mov byte [ecx + edi], al
mov al, byte [edx + ebx]
test al, al
jne 0x1007293e
cmp esi, 1
jne 0x10072a6a
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
inc dword [ebp + 8]
mov byte [ecx + eax], 0
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
add eax, ecx
mov byte [eax], 0
mov byte [eax + 1], 0
call fcn.100379dd
jmp 0x10072b83
mov ecx, edx
call fcn.100379dd
mov esi, eax
lea ebx, [esi + edx + 1]
mov ecx, ebx
mov dword [ebp - 0x20], esi
mov dword [ebp + 8], ebx
call fcn.100379dd
push 3
pop ecx
mov dword [ebp - 0x24], eax
cmp esi, ecx
jne 0x10072abc
mov edi, edx
mov esi, 0x100b9f6c
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10072abc
mov dword [ebp - 0x1c], ebx
jmp 0x10072b7d
xor ebx, ebx
cmp dword [ebp - 0x20], 5
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
jne 0x10072af6
push 5
mov eax, str.cache
pop ecx
mov edi, edx
mov esi, eax
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10072b7d
mov ecx, 0x60000
mov dword [ebp - 0x18], ecx
mov ebx, 0x100cf368
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x20], 4
jne 0x10072b21
mov eax, str.mode
mov eax, dword [eax]
cmp eax, dword [edx]
jne 0x10072b21
mov eax, dword [ebp - 8]
push 7
pop ecx
and eax, ecx
mov dword [ebp - 0x18], ecx
mov ebx, 0x100cf380
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], str.access
test ebx, ebx
je 0x10072b7d
mov edi, dword [ebx]
xor edx, edx
jmp 0x10072b4f
mov ecx, edi
call fcn.100379dd
mov ecx, dword [ebp - 0x24]
cmp ecx, eax
jne 0x10072b4b
mov esi, dword [ebp + 8]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10072b47
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10072b63
inc edx
mov edi, dword [ebx + edx*8]
test edi, edi
jne 0x10072b2b
push dword [ebp + 8]
push dword [ebp - 0x10]
push str.no_such__s_mode:__s
jmp 0x10072921
mov ebx, dword [ebx + edx*8 + 4]
test ebx, ebx
je 0x10072b53
cmp ebx, dword [ebp - 0x14]
jg 0x10072b92
mov eax, dword [ebp - 0x18]
not eax
and eax, dword [ebp - 8]
or eax, ebx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 8]
lea edx, [eax + ecx + 1]
cmp byte [edx], 0
jne 0x10072a83
jmp 0x10072bdc
push dword [ebp + 8]
push dword [ebp - 0x10]
push str._s_mode_not_allowed:__s
call fcn.1003721c
add esp, 0xc
mov dword [ebp - 0xc], 3
jmp 0x10072c04
mov esi, eax
lea eax, [esi + 2]
push eax
call fcn.10035d6e
mov edi, eax
pop ecx
mov dword [ebp - 4], edi
test edi, edi
je 0x100728cd
push esi
push ebx
push edi
call fcn.1008a3c0
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax], 0
mov byte [eax + 1], 0
push dword [ebp - 0x1c]
call fcn.10035690
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
test eax, eax
jne 0x10072c16
push dword [ebp - 0x1c]
push str.no_such_vfs:__s
call fcn.1003721c
pop ecx
pop ecx
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp + 0x1c]
push dword [ebp - 4]
mov dword [ecx], eax
call fcn.10035f18
and dword [ebp - 4], 0
pop ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 8]
mov dword [eax], ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 4]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret