Function at 0x1014efbd
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x24
mov eax, dword [esp + 0x3c]
and dword [esp + 4], 0
push ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
push ebp
push esi
push edi
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
push ebx
mov dword [esp + 0x30], eax
call fcn.1015666b
test byte [esp + 0x14], 0x40
mov esi, eax
pop ecx
jne 0x1014f004
cmp byte [0x1030db36], 0
je 0x1014f392
cmp esi, 5
jl 0x1014f392
push 5
push str.file:
push ebx
lfence
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x1014f392
and dword [esp + 0x38], eax
lea eax, [esi + 8]
or dword [esp + 0x10], 0x40
xor ecx, ecx
cdq
cmp byte [ecx + ebx], 0x26
jne 0x1014f044
xor edi, edi
inc edi
xor ebp, ebp
jmp 0x1014f055
xorps xmm0, xmm0
movlpd qword [esp + 0x24], xmm0
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
add eax, edi
adc edx, ebp
inc ecx
cmp ecx, esi
jl 0x1014f037
push edx
push eax
call fcn.101176d0
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x1014f3a5
push 4
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
add edi, 4
cmp byte [ebx + 5], 0x2f
push 5
pop esi
jne 0x1014f0e6
cmp byte [ebx + 6], 0x2f
jne 0x1014f0e6
lea ebp, [ebx + 7]
mov al, byte [ebp]
push 7
pop esi
test al, al
je 0x1014f0e6
cmp al, 0x2f
je 0x1014f0a9
inc esi
mov al, byte [esi + ebx]
test al, al
jne 0x1014f09d
cmp esi, 7
je 0x1014f0e6
cmp esi, 0x10
jne 0x1014f0c7
push 9
push ebp
push str.localhost
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1014f0e6
push ebp
lea eax, [esi - 7]
push eax
push str.invalid_uri_authority:__.s
mov dword [esp + 0x20], 1
call fcn.101175a0
add esp, 0xc
jmp 0x1014f40d
lfence
mov cl, byte [esi + ebx]
xor ebp, ebp
test cl, cl
je 0x1014f227
cmp cl, 0x23
je 0x1014f217
inc esi
cmp cl, 0x25
jne 0x1014f19e
mov dl, byte [esi + ebx]
movzx eax, dl
test byte [eax + 0x10280138], 8
je 0x1014f19e
movzx eax, byte [esi + ebx + 1]
test byte [eax + 0x10280138], 8
je 0x1014f19e
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
jne 0x1014f200
jmp 0x1014f195
cmp al, 0x23
je 0x1014f20c
test ebp, ebp
jne 0x1014f176
cmp al, 0x3f
je 0x1014f20c
cmp ebp, 1
jne 0x1014f18b
cmp al, 0x3d
je 0x1014f20c
cmp al, 0x26
je 0x1014f20c
cmp ebp, 2
jne 0x1014f194
cmp al, 0x26
je 0x1014f20c
inc esi
mov al, byte [esi + ebx]
test al, al
jne 0x1014f162
jmp 0x1014f20c
cmp ebp, 1
jne 0x1014f1e8
cmp cl, 0x26
je 0x1014f1ad
cmp cl, 0x3d
jne 0x1014f200
mov eax, dword [esp + 0x38]
cmp byte [edi + eax - 1], 0
je 0x1014f1d8
cmp cl, 0x26
jne 0x1014f1e1
mov ecx, eax
mov byte [edi + ecx], 0
inc ecx
mov dword [esp + 0x38], ecx
mov eax, ecx
jmp 0x1014f1e4
cmp al, 0x23
je 0x1014f20c
cmp byte [esi + ebx - 1], 0x26
je 0x1014f20c
inc esi
mov al, byte [esi + ebx]
test al, al
jne 0x1014f1cc
jmp 0x1014f20c
push 2
pop ebp
xor cl, cl
jmp 0x1014f204
test ebp, ebp
jne 0x1014f1f1
cmp cl, 0x3f
je 0x1014f1fb
cmp ebp, 2
jne 0x1014f200
cmp cl, 0x26
jne 0x1014f200
xor ebp, ebp
xor cl, cl
inc ebp
mov eax, dword [esp + 0x38]
mov byte [edi + eax], cl
inc eax
mov dword [esp + 0x38], eax
mov cl, byte [esi + ebx]
test cl, cl
jne 0x1014f0f6
mov eax, dword [esp + 0x38]
cmp ebp, 1
jne 0x1014f22b
mov byte [edi + eax], 0
inc eax
jmp 0x1014f22b
mov eax, dword [esp + 0x38]
push 4
add eax, edi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push edi
call fcn.1015666b
lea esi, [edi + 1]
add esp, 0x10
add esi, eax
jmp 0x1014f370
push esi
call fcn.1015666b
mov ebp, eax
lea ebx, [ebp + 1]
add ebx, esi
push ebx
call fcn.1015666b
mov dword [esp + 0x2c], eax
pop ecx
pop ecx
cmp ebp, 3
jne 0x1014f288
push ebp
push esi
push 0x1028711c
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x1014f369
mov dword [esp + 0x2c], ebx
jmp 0x1014f369
cmp ebp, 5
jne 0x1014f2b7
push ebp
push esi
mov ebp, str.cache
push ebp
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x1014f369
mov ecx, 0x60000
mov dword [esp + 0x1c], ebp
mov esi, ecx
mov eax, 0x1030f1a8
jmp 0x1014f2f1
cmp ebp, 4
jne 0x1014f369
push ebp
push esi
push str.mode
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x1014f369
mov ecx, dword [esp + 0x10]
mov edx, 0x87
mov esi, edx
mov dword [esp + 0x1c], str.access
mov eax, 0x1030f1c0
and ecx, edx
mov ebp, dword [eax]
mov dword [esp + 0x20], ecx
xor ecx, ecx
mov dword [esp + 0x38], eax
jmp 0x1014f329
push ebp
call fcn.1015666b
pop ecx
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jne 0x1014f31d
push ecx
push ebp
push ebx
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1014f340
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
inc ecx
mov ebp, dword [eax + ecx*8]
mov dword [esp + 0x18], ecx
test ebp, ebp
jne 0x1014f2ff
push ebx
push dword [esp + 0x20]
push str.no_such__s_mode:__s
jmp 0x1014f0d1
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov ecx, dword [eax + ecx*8 + 4]
test ecx, ecx
je 0x1014f331
mov eax, ecx
and eax, 0xffffff7f
cmp eax, dword [esp + 0x20]
jg 0x1014f37b
not esi
and esi, dword [esp + 0x10]
or esi, ecx
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x24]
inc esi
add esi, ebx
cmp byte [esi], 0
jne 0x1014f24a
jmp 0x1014f3e1
push ebx
push dword [esp + 0x20]
mov dword [esp + 0x1c], 3
push str._s_mode_not_allowed:__s
jmp 0x1014f0d9
lea eax, [esi + 8]
cdq
push edx
push eax
call fcn.101176d0
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x1014f3ad
push 7
pop eax
jmp 0x1014f430
push 4
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
add edi, 4
test esi, esi
je 0x1014f3cc
push esi
push ebx
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 4
lea eax, [edi + esi]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
and dword [esp + 0x10], 0xffffffbf
mov esi, dword [esp + 0x2c]
push esi
call fcn.1011b9c0
pop ecx
mov ecx, eax
mov eax, dword [esp + 0x44]
mov dword [eax], ecx
test ecx, ecx
jne 0x1014f41c
push esi
push str.no_such_vfs:__s
mov dword [esp + 0x1c], 1
call fcn.101175a0
pop ecx
pop ecx
mov ecx, dword [esp + 0x30]
push edi
mov dword [ecx], eax
call fcn.10118570
pop ecx
xor edi, edi
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov dword [ecx], eax
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret