Function at 0x4bfab7
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [ebp + 8]
and dword [ebp - 0x14], 0
push ebx
mov ebx, edx
mov dword [ebp - 0x2c], ecx
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
push esi
push edi
test ebx, ebx
jne 0x4bfad9
xor esi, esi
jmp 0x4bfaeb
push ebx
call fcn.00643470
mov esi, eax
mov eax, dword [ebp - 0xc]
pop ecx
and esi, 0x3fffffff
test al, 0x40
jne 0x4bfafc
cmp byte [0x70f11e], 0
je 0x4bfece
cmp esi, 5
jb 0x4bfece
push 5
push str.file:
push ebx
call fcn.00639b07
add esp, 0xc
test eax, eax
jne 0x4bfece
and dword [ebp - 8], eax
lea ecx, [esi + 8]
xor edx, edx
or dword [ebp - 0xc], 0x40
cmp byte [eax + ebx], 0x26
jne 0x4bfb38
xor edi, edi
inc edi
and dword [ebp - 0x1c], 0
jmp 0x4bfb49
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x28]
add ecx, edi
adc edx, dword [ebp - 0x1c]
inc eax
cmp eax, esi
jl 0x4bfb29
push edx
push ecx
call fcn.0045133b
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4bfee1
push 4
push 0
push edi
call fcn.006390b0
add esp, 0xc
add edi, 4
cmp byte [ebx + 5], 0x2f
push 5
pop esi
jne 0x4bfbdf
cmp byte [ebx + 6], 0x2f
jne 0x4bfbdf
lea ecx, [ebx + 7]
mov al, byte [ecx]
mov dword [ebp - 0x24], ecx
push 7
pop esi
test al, al
je 0x4bfbdf
cmp al, 0x2f
je 0x4bfba0
inc esi
mov al, byte [esi + ebx]
test al, al
jne 0x4bfb94
cmp esi, 7
je 0x4bfbdf
cmp esi, 0x10
jne 0x4bfbc1
push 9
push ecx
push str.localhost
call fcn.00639b07
add esp, 0xc
test eax, eax
je 0x4bfbdf
mov ecx, dword [ebp - 0x24]
push ecx
lea eax, [esi - 7]
push eax
push str.invalid_uri_authority:__.s
mov dword [ebp - 0x14], 1
call fcn.00453202
add esp, 0xc
jmp 0x4bff42
mov cl, byte [esi + ebx]
xor edx, edx
mov dword [ebp - 0x10], edx
test cl, cl
je 0x4bfd25
cmp cl, 0x23
je 0x4bfd16
inc esi
cmp cl, 0x25
jne 0x4bfc9b
movzx eax, byte [esi + ebx]
test byte [eax + 0x6bf5d8], 8
je 0x4bfc9b
movzx eax, byte [esi + ebx + 1]
test byte [eax + 0x6bf5d8], 8
je 0x4bfc9b
mov dl, byte [esi + ebx]
mov cl, byte [esi + ebx + 1]
mov al, dl
sar al, 6
add esi, 2
and al, 1
movzx eax, al
imul eax, eax, 7
sub dl, al
mov al, cl
sar al, 6
and edx, 0xf
and al, 1
shl edx, 4
movzx eax, al
imul eax, eax, 7
sub cl, al
and ecx, 0xf
add ecx, edx
mov edx, dword [ebp - 0x10]
jne 0x4bfd01
jmp 0x4bfc92
cmp al, 0x23
je 0x4bfd0b
test edx, edx
jne 0x4bfc73
cmp al, 0x3f
je 0x4bfd0b
cmp edx, 1
jne 0x4bfc88
cmp al, 0x3d
je 0x4bfd0b
cmp al, 0x26
je 0x4bfd0b
cmp edx, 2
jne 0x4bfc91
cmp al, 0x26
je 0x4bfd0b
inc esi
mov al, byte [esi + ebx]
test al, al
jne 0x4bfc5f
jmp 0x4bfd0b
cmp edx, 1
jne 0x4bfce6
cmp cl, 0x26
je 0x4bfcaa
cmp cl, 0x3d
jne 0x4bfd01
mov eax, dword [ebp - 8]
cmp byte [edi + eax - 1], 0
je 0x4bfcd3
cmp cl, 0x26
jne 0x4bfcdc
mov ecx, eax
mov byte [edi + ecx], 0
inc ecx
mov dword [ebp - 8], ecx
mov eax, ecx
jmp 0x4bfce2
cmp al, 0x23
je 0x4bfd0b
cmp byte [esi + ebx - 1], 0x26
je 0x4bfd0b
inc esi
mov al, byte [esi + ebx]
test al, al
jne 0x4bfcc7
jmp 0x4bfd0b
push 2
pop edx
mov dword [ebp - 0x10], edx
xor cl, cl
jmp 0x4bfd04
test edx, edx
jne 0x4bfcef
cmp cl, 0x3f
je 0x4bfcf9
cmp edx, 2
jne 0x4bfd01
cmp cl, 0x26
jne 0x4bfd01
xor edx, edx
xor cl, cl
inc edx
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 8]
mov byte [edi + eax], cl
inc eax
mov dword [ebp - 8], eax
mov cl, byte [esi + ebx]
test cl, cl
jne 0x4bfbef
mov eax, dword [ebp - 8]
cmp edx, 1
jne 0x4bfd28
mov byte [edi + eax], 0
inc eax
jmp 0x4bfd28
mov eax, dword [ebp - 8]
push 4
add eax, edi
push 0
push eax
call fcn.006390b0
add esp, 0xc
test edi, edi
jne 0x4bfd3f
xor eax, eax
jmp 0x4bfd4b
push edi
call fcn.00643470
pop ecx
and eax, 0x3fffffff
lea esi, [eax + 1]
add esi, edi
jmp 0x4bfea4
push esi
call fcn.00643470
mov ebx, eax
lea eax, [esi + 1]
and ebx, 0x3fffffff
add eax, ebx
pop ecx
mov dword [ebp - 8], eax
jne 0x4bfd74
and dword [ebp - 0x1c], 0
jmp 0x4bfd83
push eax
call fcn.00643470
and eax, 0x3fffffff
pop ecx
mov dword [ebp - 0x1c], eax
cmp ebx, 3
jne 0x4bfdaa
push ebx
push esi
push 0x6d8eb0
call fcn.00639b07
mov ebx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x4bfe9e
mov dword [ebp - 0x2c], ebx
jmp 0x4bfe9e
cmp ebx, 5
jne 0x4bfdd7
push ebx
push esi
mov ebx, str.cache
push ebx
call fcn.00639b07
add esp, 0xc
test eax, eax
jne 0x4bfe9b
mov edx, 0x60000
mov ecx, 0x710e78
mov esi, edx
mov eax, ebx
jmp 0x4bfe0d
cmp ebx, 4
jne 0x4bfe9b
push ebx
push esi
push str.mode
call fcn.00639b07
add esp, 0xc
test eax, eax
jne 0x4bfe9b
mov edx, dword [ebp - 0xc]
mov eax, 0x87
mov esi, eax
and edx, eax
mov ecx, 0x710948
mov eax, str.access
mov ebx, dword [ecx]
and dword [ebp - 0x18], 0
test ebx, ebx
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 8]
je 0x4bfec2
push dword [ebp - 0x10]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], ecx
call fcn.00643470
pop ecx
mov ecx, dword [ebp - 0x1c]
and eax, 0x3fffffff
cmp ecx, eax
jne 0x4bfe50
push ecx
push dword [ebp - 0x10]
push ebx
call fcn.00639b07
add esp, 0xc
test eax, eax
je 0x4bfe70
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
inc eax
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx + eax*8]
mov dword [ebp - 0x10], eax
mov eax, edx
cmp dword [ebp - 0x10], 0
je 0x4bfec2
mov edx, dword [ebp - 0x24]
jmp 0x4bfe21
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, dword [eax + ecx*8 + 4]
mov eax, edx
test ecx, ecx
je 0x4bfec2
mov eax, ecx
and eax, 0xffffff7f
cmp eax, dword [ebp - 0x24]
jg 0x4bfeaf
not esi
and esi, dword [ebp - 0xc]
or esi, ecx
mov dword [ebp - 0xc], esi
jmp 0x4bfe9e
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x1c]
inc esi
add esi, ebx
cmp byte [esi], 0
jne 0x4bfd55
jmp 0x4bff19
push ebx
push edx
mov dword [ebp - 0x14], 3
push str._s_mode_not_allowed:__s
jmp 0x4bfbd2
push ebx
push eax
push str.no_such__s_mode:__s
jmp 0x4bfbcb
lea eax, [esi + 8]
push 0
push eax
call fcn.0045133b
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x4bfee6
push 7
pop eax
jmp 0x4bff60
push 4
push 0
push edi
call fcn.006390b0
add esp, 0xc
add edi, 4
test esi, esi
je 0x4bff05
push esi
push ebx
push edi
call fcn.00638b30
add esp, 0xc
push 4
lea eax, [edi + esi]
push 0
push eax
call fcn.006390b0
add esp, 0xc
and dword [ebp - 0xc], 0xffffffbf
mov esi, dword [ebp - 0x2c]
push esi
call fcn.00450ac6
pop ecx
mov ecx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
test ecx, ecx
jne 0x4bff50
push esi
push str.no_such_vfs:__s
mov dword [ebp - 0x14], 1
call fcn.00453202
pop ecx
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
push edi
call fcn.004c10b4
pop ecx
xor edi, edi
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x14]
mov dword [ecx], edi
pop edi
pop esi
pop ebx
leave
ret