Function at 0x100ce270
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
sub esp, 0x1c
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
push ebx
mov ebx, dword [esp + 0x24]
test ebx, ebx
push ebp
push esi
push edi
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], edx
mov dword [esp + 0x28], ecx
mov ebp, ebx
je 0x100ce2b0
cmp byte [ebx], 0
je 0x100ce2a8
lea esp, [esp]
mov al, byte [ebp + 1]
inc ebp
test al, al
jne 0x100ce2a0
sub ebp, ebx
and ebp, 0x3fffffff
test dl, 0x40
jne 0x100ce2c2
mov eax, dword [0x101b769c]
test eax, eax
je 0x100ce71c
cmp ebp, 5
jl 0x100ce71c
mov ecx, 5
mov edi, str.file:
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x100ce71c
or edx, 0x40
cmp ebp, eax
mov dword [esp + 0x14], eax
lea esi, [ebp + 2]
mov dword [esp + 0x18], edx
jle 0x100ce305
mov dl, byte [eax + ebx]
xor ecx, ecx
cmp dl, 0x26
sete cl
add esi, ecx
inc eax
cmp eax, ebp
jl 0x100ce2f3
call fcn.100c8e40
test eax, eax
jne 0x100ce739
push esi
call fcn.1009dcf0
mov esi, eax
add esp, 4
test esi, esi
mov dword [esp + 0x10], esi
je 0x100ce739
mov al, byte [ebx + 5]
mov cl, 0x2f
cmp al, cl
jne 0x100ce390
cmp byte [ebx + 6], cl
jne 0x100ce390
mov al, byte [ebx + 7]
test al, al
lea edx, [ebx + 7]
mov ebp, 7
je 0x100ce395
cmp al, cl
je 0x100ce353
mov al, byte [ebx + ebp + 1]
inc ebp
test al, al
jne 0x100ce346
cmp ebp, 7
je 0x100ce395
cmp ebp, 0x10
jne 0x100ce373
mov ecx, 9
mov edi, edx
mov esi, str.localhost
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
mov esi, dword [esp + 0x10]
je 0x100ce395
push edx
add ebp, 0xfffffff9
push ebp
push str.invalid_uri_authority:__.s
call fcn.100a7650
mov ecx, dword [esp + 0x4c]
add esp, 0xc
mov dword [ecx], eax
jmp 0x100ce79b
mov ebp, 5
mov al, byte [ebx + ebp]
mov edx, dword [esp + 0x14]
xor ecx, ecx
test al, al
mov dword [esp + 0x1c], ecx
je 0x100ce465
lea ebx, [ebx]
cmp al, 0x23
je 0x100ce45b
inc ebp
cmp al, 0x25
jne 0x100ce4f7
mov cl, byte [ebx + ebp]
movzx edi, cl
test byte [edi + 0x10182e08], 8
je 0x100ce4f3
movzx edi, byte [ebx + ebp + 1]
test byte [edi + 0x10182e08], 8
je 0x100ce4f3
movsx edx, byte [ebx + ebp + 1]
movsx ecx, cl
mov eax, ecx
sar eax, 6
and al, 1
inc ebp
mov bl, 7
imul bl
sub cl, al
mov eax, edx
sar eax, 6
and al, 1
imul bl
mov ebx, dword [esp + 0x30]
sub dl, al
and ecx, 0xf
shl ecx, 4
and edx, 0xf
add ecx, edx
inc ebp
test ecx, ecx
jne 0x100ce4d8
mov al, byte [ebx + ebp]
test al, al
mov ecx, dword [esp + 0x1c]
je 0x100ce448
lea ebx, [ebx]
cmp al, 0x23
je 0x100ce448
test ecx, ecx
jne 0x100ce43f
cmp al, 0x3f
jmp 0x100ce4c4
cmp ecx, 1
jne 0x100ce4bd
cmp al, 0x3d
jne 0x100ce4c2
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov al, byte [ebx + ebp]
test al, al
jne 0x100ce3b0
cmp ecx, 1
jne 0x100ce465
mov byte [esi + edx], 0
inc edx
mov byte [esi + edx], 0
mov byte [esi + edx + 1], 0
cmp byte [esi], 0
mov eax, esi
je 0x100ce47d
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x100ce475
sub eax, esi
and eax, 0x3fffffff
lea edi, [eax + esi + 1]
cmp byte [edi], 0
je 0x100ce76c
mov eax, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x100ce493
sub eax, edi
and eax, 0x3fffffff
lea edx, [eax + edi + 1]
test edx, edx
mov dword [esp + 0x1c], edx
mov ecx, edx
jne 0x100ce5a7
mov dword [esp + 0x30], edx
jmp 0x100ce5c4
cmp ecx, 2
jne 0x100ce4c6
cmp al, 0x26
je 0x100ce448
mov al, byte [ebx + ebp + 1]
inc ebp
test al, al
jne 0x100ce430
jmp 0x100ce448
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov al, cl
mov ecx, dword [esp + 0x1c]
mov byte [esi + edx], al
inc edx
mov dword [esp + 0x14], edx
jmp 0x100ce450
mov ecx, dword [esp + 0x1c]
cmp ecx, 1
jne 0x100ce571
cmp al, 0x26
je 0x100ce508
cmp al, 0x3d
jne 0x100ce59a
cmp byte [esi + edx - 1], 0
jne 0x100ce541
mov al, byte [ebx + ebp]
test al, al
je 0x100ce450
lea ebx, [ebx]
cmp al, 0x23
je 0x100ce450
cmp byte [ebx + ebp - 1], 0x26
je 0x100ce450
mov al, byte [ebx + ebp + 1]
inc ebp
test al, al
jne 0x100ce520
jmp 0x100ce450
cmp al, 0x26
jne 0x100ce559
mov byte [esi + edx], 0
inc edx
xor al, al
mov byte [esi + edx], al
inc edx
mov dword [esp + 0x14], edx
jmp 0x100ce450
xor al, al
mov byte [esi + edx], al
mov ecx, 2
inc edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edx
jmp 0x100ce450
test ecx, ecx
jne 0x100ce586
cmp al, 0x3f
je 0x100ce58f
mov byte [esi + edx], al
inc edx
mov dword [esp + 0x14], edx
jmp 0x100ce450
cmp ecx, 2
jne 0x100ce59a
cmp al, 0x26
jne 0x100ce59a
mov ecx, 1
mov dword [esp + 0x1c], ecx
xor al, al
mov byte [esi + edx], al
inc edx
mov dword [esp + 0x14], edx
jmp 0x100ce450
cmp byte [edx], 0
je 0x100ce5b8
lea esp, [esp]
mov bl, byte [ecx + 1]
inc ecx
test bl, bl
jne 0x100ce5b0
sub ecx, edx
and ecx, 0x3fffffff
mov dword [esp + 0x30], ecx
cmp eax, 3
jne 0x100ce5e3
mov ecx, eax
mov esi, 0x10189200
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x100ce6df
mov dword [esp + 0x28], edx
jmp 0x100ce6df
cmp eax, 5
jne 0x100ce611
mov ecx, eax
mov esi, str.cache
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x100ce6df
mov ebx, 0x60000
mov dword [esp + 0x24], ebx
mov edx, 0x101b84a4
mov dword [esp + 0x14], str.cache
jmp 0x100ce648
cmp eax, 4
jne 0x100ce6df
mov ecx, str.mode
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x100ce6df
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x24], 0x87
mov edx, 0x101b84bc
and ebx, 0x87
mov dword [esp + 0x14], str.access
mov edi, dword [edx]
xor ebp, ebp
test edi, edi
je 0x100ce693
test edi, edi
mov eax, edi
je 0x100ce66f
cmp byte [edi], 0
je 0x100ce668
jmp 0x100ce660
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x100ce660
sub eax, edi
and eax, 0x3fffffff
mov ecx, dword [esp + 0x30]
cmp ecx, eax
jne 0x100ce68a
mov esi, dword [esp + 0x1c]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100ce686
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100ce6b5
mov edi, dword [edx + ebp*8 + 8]
inc ebp
test edi, edi
jne 0x100ce650
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
push edx
push str.no_such__s_mode:__s
call fcn.100a7650
mov ecx, dword [esp + 0x4c]
add esp, 0xc
mov dword [ecx], eax
jmp 0x100ce797
mov eax, dword [edx + ebp*8 + 4]
test eax, eax
je 0x100ce693
mov edx, dword [esp + 0x1c]
mov ecx, eax
and ecx, 0xffffff7f
cmp ecx, ebx
jg 0x100ce6f2
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
not ecx
and ecx, esi
or ecx, eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x30]
lea edi, [eax + edx + 1]
cmp byte [edi], 0
jne 0x100ce491
jmp 0x100ce76c
mov eax, dword [esp + 0x14]
push edx
push eax
push str._s_mode_not_allowed:__s
call fcn.100a7650
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov dword [ecx], eax
mov dword [esp + 0x20], 3
jmp 0x100ce7a3
call fcn.100c8e40
test eax, eax
jne 0x100ce739
lea edx, [ebp + 2]
push edx
call fcn.1009dcf0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x100ce746
pop edi
pop esi
pop ebp
mov eax, 7
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x10]
mov ecx, ebp
mov edx, ecx
shr ecx, 2
mov edi, eax
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [eax + ebp], 0
mov byte [eax + ebp + 1], 0
and dword [esp + 0x18], 0xffffffbf
mov esi, dword [esp + 0x28]
push esi
call fcn.1009da20
mov ecx, dword [esp + 0x3c]
add esp, 4
test eax, eax
mov dword [ecx], eax
jne 0x100ce7b4
push esi
push str.no_such_vfs:__s
call fcn.100a7650
mov edx, dword [esp + 0x48]
add esp, 8
mov dword [edx], eax
mov esi, dword [esp + 0x10]
mov dword [esp + 0x20], 1
push esi
call fcn.10093990
add esp, 4
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
pop edi
mov dword [eax], ecx
mov eax, dword [esp + 0xc]
pop esi
pop ebp
mov dword [edx], eax
mov eax, dword [esp + 0x14]
pop ebx
add esp, 0x1c
ret