Function at 0x10060293
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.10025420
test dl, 0x40
jne 0x100602ca
cmp dword [0x100a755c], 0
je 0x100605f5
push 5
pop ecx
cmp eax, ecx
jl 0x100605f5
mov edi, str.file:
mov esi, ebx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x100605f5
or dword [ebp - 8], 0x40
xor esi, esi
cmp eax, esi
mov dword [ebp + 8], esi
lea edi, [eax + 2]
jle 0x10060306
xor ecx, ecx
cmp byte [esi + ebx], 0x26
sete cl
add edi, ecx
inc esi
cmp esi, eax
jl 0x100602f6
push edi
call fcn.100237b1
pop ecx
mov dword [ebp - 4], eax
test eax, eax
jne 0x1006031c
push 7
pop eax
jmp 0x10060670
cmp byte [ebx + 5], 0x2f
jne 0x10060375
cmp byte [ebx + 6], 0x2f
jne 0x10060375
lea edi, [ebx + 7]
mov al, byte [edi]
push 7
pop edx
mov dword [ebp - 0x24], edi
test al, al
je 0x10060378
cmp al, 0x2f
je 0x10060343
inc edx
mov al, byte [edx + ebx]
test al, al
jne 0x10060337
cmp edx, 7
je 0x10060378
cmp edx, 0x10
jne 0x1006035e
push 9
pop ecx
mov esi, str.localhost
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10060378
mov edi, dword [ebp - 0x24]
push edi
add edx, 0xfffffff9
push edx
push str.invalid_uri_authority:__.s
call fcn.10024c5f
add esp, 0xc
jmp 0x10060644
push 5
pop edx
mov al, byte [edx + ebx]
xor esi, esi
test al, al
je 0x100604b1
cmp al, 0x23
je 0x1006049f
inc edx
cmp al, 0x25
jne 0x1006042e
mov cl, byte [edx + ebx]
movzx edi, cl
test byte [edi + 0x10090618], 8
je 0x1006042e
movzx edi, byte [edx + ebx + 1]
test byte [edi + 0x10090618], 8
je 0x1006042e
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 0x10060425
mov al, cl
jmp 0x10060488
cmp al, 0x23
je 0x10060494
test esi, esi
jne 0x1006040e
cmp al, 0x3f
je 0x10060494
cmp esi, 1
jne 0x1006041b
cmp al, 0x3d
je 0x10060494
cmp al, 0x26
je 0x10060494
cmp esi, 2
jne 0x10060424
cmp al, 0x26
je 0x10060494
inc edx
mov al, byte [edx + ebx]
test al, al
jne 0x100603fa
jmp 0x10060494
cmp esi, 1
jne 0x10060472
cmp al, 0x26
je 0x1006043b
cmp al, 0x3d
jne 0x10060488
mov edi, dword [ebp - 4]
mov ecx, dword [ebp + 8]
cmp byte [edi + ecx - 1], 0
je 0x10060462
cmp al, 0x26
jne 0x1006046b
mov byte [edi + ecx], 0
inc ecx
mov dword [ebp + 8], ecx
jmp 0x1006046e
cmp al, 0x23
je 0x10060494
cmp byte [edx + ebx - 1], 0x26
je 0x10060494
inc edx
mov al, byte [edx + ebx]
test al, al
jne 0x10060456
jmp 0x10060494
push 2
pop esi
xor al, al
jmp 0x10060488
test esi, esi
jne 0x1006047a
cmp al, 0x3f
je 0x10060483
cmp esi, 2
jne 0x10060488
cmp al, 0x26
jne 0x10060488
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 0x10060385
cmp esi, 1
jne 0x100604b1
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.10025420
jmp 0x100605ca
mov ecx, edx
call fcn.10025420
mov esi, eax
lea ebx, [esi + edx + 1]
mov ecx, ebx
mov dword [ebp - 0x20], esi
mov dword [ebp + 8], ebx
call fcn.10025420
push 3
pop ecx
mov dword [ebp - 0x24], eax
cmp esi, ecx
jne 0x10060503
mov edi, edx
mov esi, 0x10099f3c
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10060503
mov dword [ebp - 0x1c], ebx
jmp 0x100605c4
xor ebx, ebx
cmp dword [ebp - 0x20], 5
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
jne 0x1006053d
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 0x100605c4
mov ecx, 0x60000
mov dword [ebp - 0x18], ecx
mov ebx, 0x100a7fb0
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x20], 4
jne 0x10060568
mov eax, str.mode
mov eax, dword [eax]
cmp eax, dword [edx]
jne 0x10060568
mov eax, dword [ebp - 8]
push 7
pop ecx
and eax, ecx
mov dword [ebp - 0x18], ecx
mov ebx, 0x100a7fc8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], str.access
test ebx, ebx
je 0x100605c4
mov edi, dword [ebx]
xor edx, edx
jmp 0x10060596
mov ecx, edi
call fcn.10025420
mov ecx, dword [ebp - 0x24]
cmp ecx, eax
jne 0x10060592
mov esi, dword [ebp + 8]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1006058e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100605aa
inc edx
mov edi, dword [ebx + edx*8]
test edi, edi
jne 0x10060572
push dword [ebp + 8]
push dword [ebp - 0x10]
push str.no_such__s_mode:__s
jmp 0x10060368
mov ebx, dword [ebx + edx*8 + 4]
test ebx, ebx
je 0x1006059a
cmp ebx, dword [ebp - 0x14]
jg 0x100605d9
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 0x100604ca
jmp 0x10060623
push dword [ebp + 8]
push dword [ebp - 0x10]
push str._s_mode_not_allowed:__s
call fcn.10024c5f
add esp, 0xc
mov dword [ebp - 0xc], 3
jmp 0x1006064b
mov esi, eax
lea eax, [esi + 2]
push eax
call fcn.100237b1
mov edi, eax
pop ecx
mov dword [ebp - 4], edi
test edi, edi
je 0x10060314
push esi
push ebx
push edi
call fcn.1006ea80
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax], 0
mov byte [eax + 1], 0
push dword [ebp - 0x1c]
call fcn.100230d0
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
test eax, eax
jne 0x1006065d
push dword [ebp - 0x1c]
push str.no_such_vfs:__s
call fcn.10024c5f
pop ecx
pop ecx
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp + 0x1c]
push dword [ebp - 4]
mov dword [ecx], eax
call fcn.1002395b
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