Function at 0x181341cc
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
push esi
mov ebx, dword [eax]
push edi
mov edi, edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0xc], ebx
test edi, edi
jne 0x181341ee
xor esi, esi
jmp 0x181341fd
push edi
call fcn.1816ad40
mov esi, eax
pop ecx
and esi, 0x3fffffff
test bl, 0x40
jne 0x1813420f
cmp dword [0x1820fe04], 0
je 0x181345b4
cmp esi, 5
jb 0x181345b4
push 5
push str.file:
push edi
call fcn.1816240f
add esp, 0xc
test eax, eax
jne 0x181345b4
and dword [ebp - 8], eax
lea ecx, [esi + 2]
xor edx, edx
or ebx, 0x40
mov dword [ebp - 0xc], ebx
xor ebx, ebx
cmp byte [eax + edi], 0x26
jne 0x1813424d
inc ebx
and dword [ebp - 0x1c], 0
jmp 0x18134250
and dword [ebp - 0x1c], ebx
add ecx, ebx
adc edx, dword [ebp - 0x1c]
inc eax
cmp eax, esi
jl 0x1813423e
push edx
push ecx
call fcn.180dfabe
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x181345c7
cmp byte [edi + 5], 0x2f
push 5
pop esi
jne 0x181342d6
cmp byte [edi + 6], 0x2f
jne 0x181342d6
lea ecx, [edi + 7]
mov al, byte [ecx]
mov dword [ebp - 0x24], ecx
push 7
pop esi
test al, al
je 0x181342d6
cmp al, 0x2f
je 0x18134297
inc esi
mov al, byte [esi + edi]
test al, al
jne 0x1813428b
cmp esi, 7
je 0x181342d6
cmp esi, 0x10
jne 0x181342b8
push 9
push ecx
push str.localhost
call fcn.1816240f
add esp, 0xc
test eax, eax
je 0x181342d6
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.180e14b1
add esp, 0xc
jmp 0x1813460e
mov cl, byte [esi + edi]
xor edx, edx
mov dword [ebp - 0x10], edx
test cl, cl
je 0x1813441c
cmp cl, 0x23
je 0x1813440d
inc esi
cmp cl, 0x25
jne 0x18134392
movzx eax, byte [esi + edi]
test byte [eax + 0x181d08e0], 8
je 0x18134392
movzx eax, byte [esi + edi + 1]
test byte [eax + 0x181d08e0], 8
je 0x18134392
mov dl, byte [esi + edi]
mov cl, byte [esi + edi + 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 0x181343f8
jmp 0x18134389
cmp al, 0x23
je 0x18134402
test edx, edx
jne 0x1813436a
cmp al, 0x3f
je 0x18134402
cmp edx, 1
jne 0x1813437f
cmp al, 0x3d
je 0x18134402
cmp al, 0x26
je 0x18134402
cmp edx, 2
jne 0x18134388
cmp al, 0x26
je 0x18134402
inc esi
mov al, byte [esi + edi]
test al, al
jne 0x18134356
jmp 0x18134402
cmp edx, 1
jne 0x181343dd
cmp cl, 0x26
je 0x181343a1
cmp cl, 0x3d
jne 0x181343f8
mov eax, dword [ebp - 8]
cmp byte [ebx + eax - 1], 0
je 0x181343ca
cmp cl, 0x26
jne 0x181343d3
mov ecx, eax
mov byte [ebx + ecx], 0
inc ecx
mov dword [ebp - 8], ecx
mov eax, ecx
jmp 0x181343d9
cmp al, 0x23
je 0x18134402
cmp byte [esi + edi - 1], 0x26
je 0x18134402
inc esi
mov al, byte [esi + edi]
test al, al
jne 0x181343be
jmp 0x18134402
push 2
pop edx
mov dword [ebp - 0x10], edx
xor cl, cl
jmp 0x181343fb
test edx, edx
jne 0x181343e6
cmp cl, 0x3f
je 0x181343f0
cmp edx, 2
jne 0x181343f8
cmp cl, 0x26
jne 0x181343f8
xor edx, edx
xor cl, cl
inc edx
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 8]
mov byte [ebx + eax], cl
inc eax
mov dword [ebp - 8], eax
mov cl, byte [esi + edi]
test cl, cl
jne 0x181342e6
mov eax, dword [ebp - 8]
cmp edx, 1
jne 0x1813441f
mov byte [ebx + eax], 0
inc eax
jmp 0x1813441f
mov eax, dword [ebp - 8]
push ebx
mov word [ebx + eax], 0
call fcn.1816ad40
and eax, 0x3fffffff
lea esi, [ebx + 1]
pop ecx
add esi, eax
jmp 0x1813458a
push esi
call fcn.1816ad40
mov edi, eax
lea eax, [esi + 1]
and edi, 0x3fffffff
add eax, edi
pop ecx
mov dword [ebp - 8], eax
jne 0x1813445a
and dword [ebp - 0x1c], 0
jmp 0x18134469
push eax
call fcn.1816ad40
and eax, 0x3fffffff
pop ecx
mov dword [ebp - 0x1c], eax
cmp edi, 3
jne 0x18134490
push edi
push esi
push 0x1820157c
call fcn.1816240f
mov edi, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x18134584
mov dword [ebp - 0x28], edi
jmp 0x18134584
cmp edi, 5
jne 0x181344bd
push edi
push esi
mov edi, str.cache
push edi
call fcn.1816240f
add esp, 0xc
test eax, eax
jne 0x18134581
mov edx, 0x60000
mov ecx, 0x18212a84
mov esi, edx
mov eax, edi
jmp 0x181344f3
cmp edi, 4
jne 0x18134581
push edi
push esi
push str.mode
call fcn.1816240f
add esp, 0xc
test eax, eax
jne 0x18134581
mov edx, dword [ebp - 0xc]
mov eax, 0x87
mov esi, eax
and edx, eax
mov ecx, 0x18212a54
mov eax, str.access
mov edi, dword [ecx]
and dword [ebp - 0x18], 0
test edi, edi
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 8]
je 0x181345a8
push dword [ebp - 0x10]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], ecx
call fcn.1816ad40
pop ecx
mov ecx, dword [ebp - 0x1c]
and eax, 0x3fffffff
cmp ecx, eax
jne 0x18134536
push ecx
push dword [ebp - 0x10]
push edi
call fcn.1816240f
add esp, 0xc
test eax, eax
je 0x18134556
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 0x181345a8
mov edx, dword [ebp - 0x24]
jmp 0x18134507
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 0x181345a8
mov eax, ecx
and eax, 0xffffff7f
cmp eax, dword [ebp - 0x24]
jg 0x18134595
not esi
and esi, dword [ebp - 0xc]
or esi, ecx
mov dword [ebp - 0xc], esi
jmp 0x18134584
mov edi, dword [ebp - 8]
mov esi, dword [ebp - 0x1c]
inc esi
add esi, edi
cmp byte [esi], 0
jne 0x1813443b
jmp 0x181345e5
push edi
push edx
mov dword [ebp - 0x14], 3
push str._s_mode_not_allowed:__s
jmp 0x181342c9
push edi
push eax
push str.no_such__s_mode:__s
jmp 0x181342c2
lea eax, [esi + 2]
push 0
push eax
call fcn.180dfabe
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x181345cc
push 7
pop eax
jmp 0x1813462c
test esi, esi
je 0x181345db
push esi
push edi
push ebx
call fcn.18161b60
add esp, 0xc
and dword [ebp - 0xc], 0xffffffbf
mov word [ebx + esi], 0
mov esi, dword [ebp - 0x28]
push esi
call fcn.180df401
pop ecx
mov ecx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
test ecx, ecx
jne 0x1813461c
push esi
push str.no_such_vfs:__s
mov dword [ebp - 0x14], 1
call fcn.180e14b1
pop ecx
pop ecx
mov ecx, dword [ebp + 0x14]
push ebx
mov dword [ecx], eax
call fcn.180dfb36
pop ecx
xor ebx, ebx
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], ebx
pop edi
pop esi
pop ebx
leave
ret