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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov eax, dword [esp + 0x2c]
test edx, edx
mov dword [esp + 0x10], ecx
mov dword [esp], edx
mov ebx, dword [eax]
je 0x4c7c7b
push edx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
and esi, 0x3fffffff
jmp 0x4c7c7d
xor esi, esi
cmp byte [0x51d1ae], 0
setne al
cmp esi, 5
jb 0x4c7cb1
mov ecx, ebx
and ecx, 0x40
shr ecx, 6
or cl, al
je 0x4c7cb1
mov ecx, dword [esp]
mov eax, 0x656c6966
xor eax, dword [ecx]
movzx ecx, byte [ecx + 4]
xor ecx, 0x3a
or ecx, eax
je 0x4c7db6
call fcn.0041acf0
mov ebp, 7
test eax, eax
jne 0x4c7f77
lea ecx, [esi + 8]
xor edx, edx
call fcn.0041c030
test eax, eax
je 0x4c7f77
mov edi, eax
mov dword [eax], 0
add edi, 4
test esi, esi
je 0x4c7cf2
push esi
push dword [esp + 4]
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
and ebx, 0xffffffbf
mov dword [edi + esi], 0
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x30]
call fcn.0041acf0
test eax, eax
je 0x4c7e88
mov dword [ebp], 0
mov ebp, 1
push dword [esp + 0x10]
push str.no_such_vfs:__s
call fcn.0041ef10
add esp, 8
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x38]
add edi, 0xfffffffc
mov dword [ecx], eax
jmp 0x4c7d41
dec edi
cmp byte [edi + 3], 0
jne 0x4c7d40
cmp byte [edi + 2], 0
jne 0x4c7d40
cmp byte [edi + 1], 0
jne 0x4c7d40
cmp byte [edi], 0
jne 0x4c7d40
cmp dword [0x51d1a8], 0
je 0x4c7f5f
mov eax, dword [0x51e858]
test eax, eax
je 0x4c7d78
push eax
call dword [0x51d1f8]
add esp, 4
push edi
call dword [0x51d1d4]
add esp, 4
sub dword [0x51e800], eax
dec dword [0x51e824]
push edi
call dword [0x51d1cc]
add esp, 4
mov eax, dword [0x51e858]
xor edi, edi
test eax, eax
je 0x4c7f6b
push eax
call dword [0x51d200]
add esp, 4
jmp 0x4c7f6b
xor ebp, ebp
lea edi, [esi + 8]
cmp esi, 4
jae 0x4c7dc7
xor eax, eax
jmp 0x4c7e57
mov ecx, dword [esp]
movdqa xmm2, xmmword [0x50c3a0]
movdqa xmm3, xmmword [0x50c3b0]
mov eax, esi
movd xmm1, edi
pxor xmm0, xmm0
and eax, 0xfffffffc
mov edx, eax
add ecx, 2
nop dword [eax]
movzx edi, word [ecx - 2]
movzx ebp, word [ecx]
add ecx, 4
add edx, 0xfffffffc
movd xmm4, edi
movd xmm5, ebp
pcmpeqb xmm4, xmm2
pcmpeqb xmm5, xmm2
punpcklbw xmm4, xmm4
punpcklbw xmm5, xmm5
punpcklwd xmm4, xmm4
punpcklwd xmm5, xmm5
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm1, xmm4
pshufd xmm4, xmm5, 0xd4
pand xmm4, xmm3
paddq xmm0, xmm4
jne 0x4c7df0
paddq xmm0, xmm1
cmp esi, eax
pshufd xmm1, xmm0, 0x4e
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xe5
movd edi, xmm1
movd ebp, xmm0
je 0x4c7e71
sub esi, eax
add eax, dword [esp]
nop dword [eax]
xor ecx, ecx
cmp byte [eax], 0x26
sete cl
add edi, ecx
adc ebp, 0
inc eax
dec esi
jne 0x4c7e60
call fcn.0041acf0
test eax, eax
je 0x4c7f0f
mov ebp, 7
jmp 0x4c7f77
cmp byte [0x51d1ac], 0
mov bl, 1
mov dword [esp], 0
je 0x4c7eba
push 2
call dword [0x51d1f0]
add esp, 4
test eax, eax
je 0x4c7eba
mov esi, eax
push eax
call dword [0x51d1f8]
add esp, 4
xor ebx, ebx
mov dword [esp], esi
mov esi, dword [0x51e850]
cmp dword [esp + 0x10], 0
je 0x4c7eec
test esi, esi
je 0x4c7eec
nop dword [eax + eax]
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 0x4c7eec
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x4c7ed0
xor esi, esi
test bl, bl
jne 0x4c7efc
push dword [esp]
call dword [0x51d200]
add esp, 4
mov dword [ebp], esi
xor ebp, ebp
test esi, esi
je 0x4c7d18
mov ebx, dword [esp + 8]
jmp 0x4c7f6b
mov ecx, edi
mov edx, ebp
call fcn.0041c030
test eax, eax
mov ebp, 7
je 0x4c7f77
mov ecx, dword [esp]
mov edi, eax
mov dword [eax], 0
or ebx, 0x40
mov ebp, 5
add edi, 4
cmp byte [ecx + 5], 0x2f
jne 0x4c7fcc
cmp byte [ecx + 6], 0x2f
jne 0x4c7fcc
mov ebp, 7
movzx eax, byte [ecx + ebp]
test al, al
je 0x4c7f81
cmp al, 0x2f
je 0x4c7f81
inc ebp
jmp 0x4c7f50
push edi
call dword [0x51d1cc]
add esp, 4
xor edi, edi
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov dword [ecx], ebx
mov dword [eax], edi
mov eax, ebp
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
cmp ebp, 0x10
je 0x4c7f8d
cmp ebp, 7
je 0x4c7fcc
jmp 0x4c7fa8
lea eax, [ecx + 7]
push 9
push eax
push str.localhost
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
mov ecx, dword [esp + 0xc]
add esp, 0xc
test eax, eax
je 0x4c7fc7
add ebp, 0xfffffff9
add ecx, 7
push ecx
push ebp
mov ebp, 1
push str.invalid_uri_authority:__.s
call fcn.0041ef10
add esp, 0xc
jmp 0x4c7d32
mov ebp, 0x10
xor esi, esi
mov dword [esp + 4], 0
mov dword [esp + 8], ebx
mov dl, byte [ecx + ebp]
nop dword [eax]
test dl, dl
je 0x4c8157
cmp dl, 0x23
je 0x4c8157
lea eax, [ebp + 1]
cmp dl, 0x25
mov dword [esp + 0xc], eax
jne 0x4c80af
mov eax, dword [esp + 0xc]
movzx ebx, byte [ecx + eax]
test byte [ebx + 0x50d0f3], 8
je 0x4c80af
movzx eax, byte [ebp + ecx + 2]
test byte [eax + 0x50d0f3], 8
je 0x4c80af
mov ecx, ebx
mov edx, eax
add ebp, 3
shr cl, 6
shr dl, 6
and cl, 1
and dl, 1
movzx ecx, cl
movzx edx, dl
lea ecx, [ecx + ecx*8]
lea edx, [edx + edx*8]
add cl, bl
add dl, al
shl cl, 4
and dl, 0xf
or dl, cl
jne 0x4c8107
mov ecx, dword [esp]
jmp 0x4c8061
inc ebp
movzx edx, byte [ecx + ebp]
test dl, dl
je 0x4c7fe0
cmp dl, 0x23
je 0x4c7fe0
test esi, esi
jne 0x4c8083
cmp dl, 0x3f
je 0x4c7fe0
cmp esi, 1
jne 0x4c80a0
cmp dl, 0x26
je 0x4c7fe0
cmp dl, 0x3d
jne 0x4c8060
jmp 0x4c7fe0
cmp esi, 2
jne 0x4c8060
cmp dl, 0x26
jne 0x4c8060
jmp 0x4c7fe0
mov eax, dword [esp + 4]
cmp esi, 1
jne 0x4c811b
mov ebp, dword [esp + 0xc]
mov esi, 1
cmp dl, 0x3d
je 0x4c80cb
cmp dl, 0x26
jne 0x4c810e
cmp byte [edi + eax - 1], 0
jne 0x4c8134
nop word cs:[eax + eax]
nop dword [eax]
movzx eax, byte [ecx + ebp]
mov esi, 1
test al, al
je 0x4c7fda
cmp al, 0x23
je 0x4c7fda
cmp byte [ecx + ebp - 1], 0x26
je 0x4c7fda
inc ebp
jmp 0x4c80e0
mov ecx, dword [esp]
mov eax, dword [esp + 4]
mov byte [edi + eax], dl
inc eax
mov dword [esp + 4], eax
jmp 0x4c7fda
mov ebp, dword [esp + 0xc]
test esi, esi
je 0x4c8147
cmp esi, 2
jne 0x4c810e
mov esi, 2
cmp dl, 0x26
jne 0x4c810e
jmp 0x4c814e
cmp dl, 0x26
jne 0x4c8140
mov byte [edi + eax], 0
inc eax
jmp 0x4c8153
mov esi, 2
jmp 0x4c8153
xor esi, esi
cmp dl, 0x3f
jne 0x4c810e
mov esi, 1
xor edx, edx
jmp 0x4c810e
cmp esi, 1
jne 0x4c8167
mov eax, dword [esp + 4]
mov byte [edi + eax], 0
inc eax
jmp 0x4c816b
mov eax, dword [esp + 4]
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 0x4c7d00
lea ebp, [eax + edi + 1]
jmp 0x4c81bc
movzx edx, byte [ebp + 4]
mov eax, dword [ebp]
mov ecx, 0x68636163
xor eax, ecx
xor edx, 0x65
or edx, eax
je 0x4c823f
mov eax, dword [esp]
cmp byte [esi + eax + 1], 0
lea ebp, [esi + eax + 1]
je 0x4c7d00
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 + 1]
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 0x4c8191
cmp ebx, 4
je 0x4c8212
cmp ebx, 3
jne 0x4c81aa
movzx eax, word [ebp]
movzx ecx, byte [ebp + 2]
xor eax, 0x6676
xor ecx, 0x73
or cx, ax
jne 0x4c81aa
mov eax, dword [esp]
mov dword [esp + 0x10], eax
jmp 0x4c81aa
cmp dword [ebp], 0x65646f6d
jne 0x4c81aa
mov eax, dword [esp + 8]
mov ebx, 0x515a6c
mov dword [esp + 0x14], 0xffffff78
mov dword [esp + 0xc], str.access
and eax, 0x87
mov dword [esp + 4], eax
jmp 0x4c825c
mov dword [esp + 4], 0x60000
mov dword [esp + 0x14], 0xfff9ffff
mov dword [esp + 0xc], str.cache
mov ebx, 0x515a40
mov ebp, dword [ebx]
test ebp, ebp
je 0x4c82c5
add ebx, 8
jmp 0x4c8279
mov ebp, dword [ebx]
add ebx, 8
test ebp, ebp
je 0x4c82c5
push ebp
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
cmp esi, eax
jne 0x4c8270
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 0x4c8270
mov eax, dword [ebx - 4]
test eax, eax
je 0x4c82c5
mov ecx, eax
and ecx, 0xffffff7f
cmp ecx, dword [esp + 4]
jg 0x4c82e3
mov ecx, dword [esp + 0x14]
and ecx, dword [esp + 8]
or eax, ecx
mov dword [esp + 8], eax
jmp 0x4c81aa
mov ebp, 1
push dword [esp]
push dword [esp + 0x10]
push str.no_such__s_mode:__s
call fcn.0041ef10
add esp, 0xc
jmp 0x4c7d2e
mov ebp, 3
push dword [esp]
push dword [esp + 0x10]
push str._s_mode_not_allowed:__s
jmp 0x4c82d6