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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov ebx, edx
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x2c]
mov edi, dword [esi]
test edx, edx
je 0x4d890a
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ebp, eax
and ebp, 0x3fffffff
jmp 0x4d890c
xor ebp, ebp
mov eax, edi
and eax, 0x40
shr eax, 6
cmp byte [0x53c20e], 0
setne cl
or cl, al
cmp cl, 1
jne 0x4d8940
cmp ebp, 5
jb 0x4d8940
mov eax, 0x656c6966
xor eax, dword [ebx]
movzx ecx, byte [ebx + 4]
xor ecx, 0x3a
or ecx, eax
je 0x4d8a46
call fcn.00423a30
mov edx, 7
test eax, eax
jne 0x4d8c72
mov dword [esp + 0xc], edi
lea ecx, [ebp + 8]
xor edx, edx
call fcn.00424d20
mov edx, 7
test eax, eax
je 0x4d8c72
mov edi, eax
mov dword [eax], 0
add edi, 4
test ebp, ebp
je 0x4d8987
push ebp
push ebx
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov dword [edi + ebp], 0
and dword [esp + 0xc], 0xffffffbf
mov ebp, dword [esp + 0x30]
call fcn.00423a30
test eax, eax
je 0x4d8a7c
mov dword [ebp], 0
mov dword [esp + 4], 1
push dword [esp + 0x10]
push str.no_such_vfs:__s
call fcn.00428600
add esp, 8
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
add edi, 0xfffffffc
jmp 0x4d89d1
dec edi
cmp byte [edi + 3], 0
jne 0x4d89d0
cmp byte [edi + 2], 0
jne 0x4d89d0
cmp byte [edi + 1], 0
jne 0x4d89d0
cmp byte [edi], 0
jne 0x4d89d0
cmp dword [0x53c208], 0
je 0x4d8afe
mov eax, dword [0x53de88]
test eax, eax
je 0x4d8a08
push eax
call dword [0x53c258]
add esp, 4
push edi
call dword [0x53c234]
add esp, 4
sub dword [0x53de30], eax
dec dword [0x53de54]
push edi
call dword [0x53c22c]
add esp, 4
mov eax, dword [0x53de88]
xor edi, edi
test eax, eax
je 0x4d8b0a
push eax
call dword [0x53c260]
add esp, 4
jmp 0x4d8b0a
mov dword [esp + 0xc], edi
lea edi, [ebp + 8]
xor esi, esi
cmp ebp, 4
jae 0x4d8a5b
xor edx, edx
jmp 0x4d8c51
movd xmm0, edi
lea ecx, [ebp - 4]
mov eax, ecx
shr eax, 2
inc eax
cmp ecx, 4
jae 0x4d8b1f
pxor xmm1, xmm1
xor ecx, ecx
jmp 0x4d8bd7
mov dword [esp], 0
mov bl, 1
cmp byte [0x53c20c], 0
je 0x4d8aae
push 2
call dword [0x53c250]
add esp, 4
test eax, eax
je 0x4d8aae
mov esi, eax
push eax
call dword [0x53c258]
add esp, 4
xor ebx, ebx
mov dword [esp], esi
mov esi, dword [0x53de80]
cmp dword [esp + 0x10], 0
je 0x4d8adc
test esi, esi
je 0x4d8adc
nop
push dword [esi + 0x10]
push dword [esp + 0x14]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x4d8adc
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x4d8ac0
xor esi, esi
test bl, bl
jne 0x4d8aec
push dword [esp]
call dword [0x53c260]
add esp, 4
mov dword [ebp], esi
xor edx, edx
test esi, esi
mov esi, dword [esp + 0x2c]
jne 0x4d8b0e
jmp 0x4d89ab
push edi
call dword [0x53c22c]
add esp, 4
xor edi, edi
mov edx, dword [esp + 4]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xc]
mov dword [esi], ecx
mov dword [eax], edi
jmp 0x4d8c72
mov edx, eax
and edx, 0xfffffffe
pxor xmm1, xmm1
xor ecx, ecx
movdqa xmm2, xmmword [0x5297f0]
movdqa xmm3, xmmword [0x529800]
nop word [eax + eax]
movzx esi, word [ebx + ecx]
movd xmm4, esi
movzx esi, word [ebx + ecx + 2]
movd xmm5, esi
pcmpeqb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm4, xmm0
pcmpeqb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm0, xmm5, 0xd4
pshufd xmm5, xmm0, 0xd4
pand xmm5, xmm3
paddq xmm5, xmm1
movzx esi, word [ebx + ecx + 4]
movd xmm0, esi
movzx esi, word [ebx + ecx + 6]
movd xmm1, esi
pcmpeqb xmm0, xmm2
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0xd4
pshufd xmm0, xmm0, 0xd4
pand xmm0, xmm3
paddq xmm0, xmm4
pcmpeqb xmm1, xmm2
punpcklbw xmm1, xmm1
pshuflw xmm1, xmm1, 0xd4
pshufd xmm1, xmm1, 0xd4
pand xmm1, xmm3
paddq xmm1, xmm5
add ecx, 8
add edx, 0xfffffffe
jne 0x4d8b40
mov edx, ebp
and edx, 0xfffffffc
test al, 1
je 0x4d8c35
movzx eax, word [ebx + ecx]
movd xmm3, eax
movzx eax, word [ebx + ecx + 2]
movd xmm2, eax
movdqa xmm4, xmmword [0x5297f0]
pcmpeqb xmm3, xmm4
punpcklbw xmm3, xmm3
pshuflw xmm3, xmm3, 0xd4
pshufd xmm3, xmm3, 0xd4
movdqa xmm5, xmmword [0x529800]
pand xmm3, xmm5
paddq xmm0, xmm3
pcmpeqb xmm2, xmm4
punpcklbw xmm2, xmm2
pshuflw xmm2, xmm2, 0xd4
pshufd xmm2, xmm2, 0xd4
pand xmm2, xmm5
paddq xmm1, xmm2
paddq xmm0, xmm1
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
movd edi, xmm1
pshufd xmm0, xmm1, 0x55
movd esi, xmm0
jmp 0x4d8c60
xor eax, eax
cmp byte [ebx + edx], 0x26
sete al
add edi, eax
adc esi, 0
inc edx
cmp ebp, edx
jne 0x4d8c51
call fcn.00423a30
mov edx, 7
test eax, eax
je 0x4d8c7c
mov eax, edx
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, edi
mov edx, esi
call fcn.00424d20
mov edx, 7
test eax, eax
je 0x4d8c72
mov edi, eax
or dword [esp + 0xc], 0x40
mov dword [eax], 0
add edi, 4
mov ebp, 5
cmp byte [ebx + 5], 0x2f
jne 0x4d8d16
cmp byte [ebx + 6], 0x2f
jne 0x4d8d16
mov ebp, 7
movzx eax, byte [ebx + ebp]
test eax, eax
je 0x4d8cc4
cmp eax, 0x2f
je 0x4d8cc4
inc ebp
jmp 0x4d8cb4
cmp ebp, 0x10
je 0x4d8cd4
cmp ebp, 7
mov esi, dword [esp + 0x2c]
je 0x4d8d16
jmp 0x4d8cef
lea eax, [ebx + 7]
push 9
push eax
push str.localhost
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
add esp, 0xc
test eax, eax
mov esi, dword [esp + 0x2c]
je 0x4d8d11
add ebp, 0xfffffff9
add ebx, 7
mov dword [esp + 4], 1
push ebx
push ebp
push str.invalid_uri_authority:__.s
call fcn.00428600
add esp, 0xc
jmp 0x4d89c4
mov ebp, 0x10
xor ecx, ecx
mov dword [esp + 8], 0
mov dword [esp], ebx
movzx edx, byte [ebx + ebp]
mov dword [esp + 4], ecx
nop dword [eax + eax]
test dl, dl
je 0x4d8eb5
movzx eax, dl
cmp eax, 0x23
je 0x4d8eb5
lea esi, [ebp + 1]
cmp dl, 0x25
jne 0x4d8dff
mov ecx, dword [esp]
movzx ecx, byte [ecx + esi]
test byte [ecx + 0x52aaeb], 8
je 0x4d8dff
mov ebx, dword [esp]
movzx ebx, byte [ebp + ebx + 2]
test byte [ebx + 0x52aaeb], 8
je 0x4d8dff
mov eax, ecx
add al, cl
sar al, 7
and al, 9
add al, cl
shl al, 4
add ebp, 3
mov edx, ebx
add dl, dl
sar dl, 7
and dl, 9
add dl, bl
and dl, 0xf
or dl, al
jne 0x4d8e58
mov ebx, dword [esp]
mov ecx, dword [esp + 4]
jmp 0x4d8db1
inc ebp
movzx edx, byte [ebx + ebp]
test edx, edx
je 0x4d8d30
cmp edx, 0x23
je 0x4d8d30
test ecx, ecx
jne 0x4d8dd3
cmp dl, 0x3f
je 0x4d8d30
cmp ecx, 1
jne 0x4d8df0
cmp edx, 0x26
je 0x4d8d30
cmp edx, 0x3d
jne 0x4d8db0
jmp 0x4d8d30
cmp ecx, 2
jne 0x4d8db0
cmp dl, 0x26
jne 0x4d8db0
jmp 0x4d8d30
mov ecx, dword [esp + 4]
cmp ecx, 1
jne 0x4d8e70
cmp dl, 0x3d
mov ebx, dword [esp]
mov ebp, esi
je 0x4d8e1b
cmp eax, 0x26
jne 0x4d8ea1
mov eax, dword [esp + 8]
cmp byte [edi + eax - 1], 0
jne 0x4d8e8e
nop word cs:[eax + eax]
movzx eax, byte [ebx + ebp]
mov ecx, 1
test eax, eax
je 0x4d8d23
cmp eax, 0x23
je 0x4d8d23
cmp byte [ebx + ebp - 1], 0x26
je 0x4d8d23
inc ebp
jmp 0x4d8e30
mov ebx, dword [esp]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov byte [edi + eax], dl
inc eax
mov dword [esp + 8], eax
jmp 0x4d8d23
test ecx, ecx
mov ebx, dword [esp]
mov eax, dword [esp + 8]
mov ebp, esi
jne 0x4d8e82
cmp dl, 0x3f
je 0x4d8e98
cmp ecx, 2
jne 0x4d8e63
cmp dl, 0x26
je 0x4d8e98
jmp 0x4d8e63
cmp dl, 0x26
jne 0x4d8eac
mov byte [edi + eax], 0
inc eax
mov ecx, 1
xor edx, edx
jmp 0x4d8e63
mov ecx, 1
mov eax, dword [esp + 8]
jmp 0x4d8e63
mov ecx, 2
xor edx, edx
jmp 0x4d8e63
cmp ecx, 1
jne 0x4d8ec9
mov eax, dword [esp + 8]
mov byte [edi + eax], 0
inc eax
mov esi, dword [esp + 0x2c]
jmp 0x4d8ed1
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 8]
mov dword [edi + eax], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
cmp byte [eax + edi + 1], 0
je 0x4d8993
lea ebp, [eax + edi]
inc ebp
jmp 0x4d8f22
mov eax, dword [ebp]
mov ecx, 0x68636163
xor eax, ecx
movzx ecx, byte [ebp + 4]
xor ecx, 0x65
or ecx, eax
je 0x4d8fa5
mov eax, dword [esp]
lea ebp, [esi + eax]
inc ebp
cmp byte [esi + eax + 1], 0
je 0x4d904a
push ebp
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ebx, eax
and ebx, 0x3fffffff
lea eax, [ebx + ebp]
inc eax
mov dword [esp], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
and esi, 0x3fffffff
cmp ebx, 5
je 0x4d8ef7
cmp ebx, 4
je 0x4d8f78
cmp ebx, 3
jne 0x4d8f10
movzx eax, word [ebp]
xor eax, 0x6676
movzx ecx, byte [ebp + 2]
xor ecx, 0x73
or cx, ax
jne 0x4d8f10
mov eax, dword [esp]
mov dword [esp + 0x10], eax
jmp 0x4d8f10
cmp dword [ebp], 0x65646f6d
jne 0x4d8f10
mov eax, dword [esp + 0xc]
and eax, 0x87
mov dword [esp + 4], eax
mov dword [esp + 0x14], 0xffffff78
mov dword [esp + 8], str.access
mov ebx, 0x533b80
jmp 0x4d8fc2
mov dword [esp + 4], 0x60000
mov dword [esp + 0x14], 0xfff9ffff
mov dword [esp + 8], str.cache
mov ebx, 0x533b54
mov ebp, dword [ebx]
test ebp, ebp
je 0x4d9025
add ebx, 8
jmp 0x4d8fd9
mov ebp, dword [ebx]
add ebx, 8
test ebp, ebp
je 0x4d9025
push ebp
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
cmp esi, eax
jne 0x4d8fd0
push esi
push ebp
push dword [esp + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4d8fd0
mov eax, dword [ebx - 4]
test eax, eax
je 0x4d9025
mov ecx, eax
and ecx, 0xffffff7f
cmp ecx, dword [esp + 4]
jg 0x4d9053
mov ecx, dword [esp + 0x14]
and ecx, dword [esp + 0xc]
or eax, ecx
mov dword [esp + 0xc], eax
jmp 0x4d8f10
mov dword [esp + 4], 1
push dword [esp]
push dword [esp + 0xc]
push str.no_such__s_mode:__s
call fcn.00428600
add esp, 0xc
mov esi, dword [esp + 0x2c]
jmp 0x4d89c4
mov esi, dword [esp + 0x2c]
jmp 0x4d8993
mov dword [esp + 4], 3
push dword [esp]
push dword [esp + 0xc]
push str._s_mode_not_allowed:__s
jmp 0x4d9039