Function at 0x1007271c
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.100378af
test dl, 0x40
jne 0x10072753
cmp dword [0x100ce914], 0
je 0x10072a7e
push 5
pop ecx
cmp eax, ecx
jl 0x10072a7e
mov edi, str.file:
mov esi, ebx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10072a7e
or dword [ebp - 8], 0x40
xor esi, esi
cmp eax, esi
mov dword [ebp + 8], esi
lea edi, [eax + 2]
jle 0x1007278f
xor ecx, ecx
cmp byte [esi + ebx], 0x26
sete cl
add edi, ecx
inc esi
cmp esi, eax
jl 0x1007277f
push edi
call fcn.10035c40
pop ecx
mov dword [ebp - 4], eax
test eax, eax
jne 0x100727a5
push 7
pop eax
jmp 0x10072af9
cmp byte [ebx + 5], 0x2f
jne 0x100727fe
cmp byte [ebx + 6], 0x2f
jne 0x100727fe
lea edi, [ebx + 7]
mov al, byte [edi]
push 7
pop edx
mov dword [ebp - 0x24], edi
test al, al
je 0x10072801
cmp al, 0x2f
je 0x100727cc
inc edx
mov al, byte [edx + ebx]
test al, al
jne 0x100727c0
cmp edx, 7
je 0x10072801
cmp edx, 0x10
jne 0x100727e7
push 9
pop ecx
mov esi, str.localhost
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10072801
mov edi, dword [ebp - 0x24]
push edi
add edx, 0xfffffff9
push edx
push str.invalid_uri_authority:__.s
call fcn.100370ee
add esp, 0xc
jmp 0x10072acd
push 5
pop edx
mov al, byte [edx + ebx]
xor esi, esi
test al, al
je 0x1007293a
cmp al, 0x23
je 0x10072928
inc edx
cmp al, 0x25
jne 0x100728b7
mov cl, byte [edx + ebx]
movzx edi, cl
test byte [edi + 0x100acf40], 8
je 0x100728b7
movzx edi, byte [edx + ebx + 1]
test byte [edi + 0x100acf40], 8
je 0x100728b7
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 0x100728ae
mov al, cl
jmp 0x10072911
cmp al, 0x23
je 0x1007291d
test esi, esi
jne 0x10072897
cmp al, 0x3f
je 0x1007291d
cmp esi, 1
jne 0x100728a4
cmp al, 0x3d
je 0x1007291d
cmp al, 0x26
je 0x1007291d
cmp esi, 2
jne 0x100728ad
cmp al, 0x26
je 0x1007291d
inc edx
mov al, byte [edx + ebx]
test al, al
jne 0x10072883
jmp 0x1007291d
cmp esi, 1
jne 0x100728fb
cmp al, 0x26
je 0x100728c4
cmp al, 0x3d
jne 0x10072911
mov edi, dword [ebp - 4]
mov ecx, dword [ebp + 8]
cmp byte [edi + ecx - 1], 0
je 0x100728eb
cmp al, 0x26
jne 0x100728f4
mov byte [edi + ecx], 0
inc ecx
mov dword [ebp + 8], ecx
jmp 0x100728f7
cmp al, 0x23
je 0x1007291d
cmp byte [edx + ebx - 1], 0x26
je 0x1007291d
inc edx
mov al, byte [edx + ebx]
test al, al
jne 0x100728df
jmp 0x1007291d
push 2
pop esi
xor al, al
jmp 0x10072911
test esi, esi
jne 0x10072903
cmp al, 0x3f
je 0x1007290c
cmp esi, 2
jne 0x10072911
cmp al, 0x26
jne 0x10072911
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 0x1007280e
cmp esi, 1
jne 0x1007293a
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.100378af
jmp 0x10072a53
mov ecx, edx
call fcn.100378af
mov esi, eax
lea ebx, [esi + edx + 1]
mov ecx, ebx
mov dword [ebp - 0x20], esi
mov dword [ebp + 8], ebx
call fcn.100378af
push 3
pop ecx
mov dword [ebp - 0x24], eax
cmp esi, ecx
jne 0x1007298c
mov edi, edx
mov esi, 0x100b9e8c
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x1007298c
mov dword [ebp - 0x1c], ebx
jmp 0x10072a4d
xor ebx, ebx
cmp dword [ebp - 0x20], 5
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
jne 0x100729c6
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 0x10072a4d
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 0x100729f1
mov eax, str.mode
mov eax, dword [eax]
cmp eax, dword [edx]
jne 0x100729f1
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 0x10072a4d
mov edi, dword [ebx]
xor edx, edx
jmp 0x10072a1f
mov ecx, edi
call fcn.100378af
mov ecx, dword [ebp - 0x24]
cmp ecx, eax
jne 0x10072a1b
mov esi, dword [ebp + 8]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10072a17
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10072a33
inc edx
mov edi, dword [ebx + edx*8]
test edi, edi
jne 0x100729fb
push dword [ebp + 8]
push dword [ebp - 0x10]
push str.no_such__s_mode:__s
jmp 0x100727f1
mov ebx, dword [ebx + edx*8 + 4]
test ebx, ebx
je 0x10072a23
cmp ebx, dword [ebp - 0x14]
jg 0x10072a62
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 0x10072953
jmp 0x10072aac
push dword [ebp + 8]
push dword [ebp - 0x10]
push str._s_mode_not_allowed:__s
call fcn.100370ee
add esp, 0xc
mov dword [ebp - 0xc], 3
jmp 0x10072ad4
mov esi, eax
lea eax, [esi + 2]
push eax
call fcn.10035c40
mov edi, eax
pop ecx
mov dword [ebp - 4], edi
test edi, edi
je 0x1007279d
push esi
push ebx
push edi
call fcn.1008a750
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax], 0
mov byte [eax + 1], 0
push dword [ebp - 0x1c]
call fcn.10035562
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
test eax, eax
jne 0x10072ae6
push dword [ebp - 0x1c]
push str.no_such_vfs:__s
call fcn.100370ee
pop ecx
pop ecx
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp + 0x1c]
push dword [ebp - 4]
mov dword [ecx], eax
call fcn.10035dea
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