Function at 0x575e82
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [ebp + 0x10]
and dword [ebp - 0x14], 0
push ebx
push esi
mov ebx, dword [eax]
push edi
mov edi, dword [ebp + 0xc]
push edi
mov dword [ebp - 0xc], ebx
call fcn.0057c78b
mov esi, eax
pop ecx
test bl, 0x40
jne 0x575eb5
cmp dword [0x721f04], 0
je 0x576251
cmp esi, 5
jl 0x576251
push 5
push str.file:
push edi
call fcn.005f42fa
add esp, 0xc
test eax, eax
jne 0x576251
and dword [ebp - 4], eax
or ebx, 0x40
lea eax, [esi + 2]
mov dword [ebp - 0xc], ebx
xor ecx, ecx
cdq
test esi, esi
jle 0x575f13
cmp byte [ecx + edi], 0x26
jne 0x575ef8
xor ebx, ebx
inc ebx
and dword [ebp - 0x18], 0
jmp 0x575f09
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x24]
add eax, ebx
adc edx, dword [ebp - 0x18]
inc ecx
cmp ecx, esi
jl 0x575ee9
push edx
push eax
call fcn.0054a04c
mov ebx, eax
mov dword [ebp - 8], ebx
pop ecx
pop ecx
test ebx, ebx
jne 0x575f2d
push 7
pop eax
jmp 0x5762c4
cmp byte [edi + 5], 0x2f
push 5
pop esi
jne 0x575f8f
cmp byte [edi + 6], 0x2f
jne 0x575f8f
lea ecx, [edi + 7]
mov al, byte [ecx]
mov dword [ebp - 0x1c], ecx
push 7
pop esi
test al, al
je 0x575f8f
cmp al, 0x2f
je 0x575f57
inc esi
mov al, byte [esi + edi]
test al, al
jne 0x575f4b
cmp esi, 7
je 0x575f8f
cmp esi, 0x10
jne 0x575f78
push 9
push ecx
push str.localhost
call fcn.005f42fa
add esp, 0xc
test eax, eax
je 0x575f8f
mov ecx, dword [ebp - 0x1c]
push ecx
lea eax, [esi - 7]
push eax
push str.invalid_uri_authority:__.s
call fcn.00549c64
add esp, 0xc
jmp 0x57629f
mov bl, byte [esi + edi]
xor edx, edx
mov dword [ebp - 0x10], edx
test bl, bl
je 0x5760d6
cmp bl, 0x23
je 0x5760c4
inc esi
cmp bl, 0x25
jne 0x57603e
mov cl, byte [esi + edi]
movzx eax, cl
test byte [eax + 0x6ad8d0], 8
je 0x57603e
movzx eax, byte [esi + edi + 1]
test byte [eax + 0x6ad8d0], 8
je 0x57603e
movsx eax, byte [esi + edi + 1]
push eax
movsx edx, cl
call fcn.005715cb
push edx
movzx ebx, al
call fcn.005715cb
mov edx, dword [ebp - 0x10]
add esi, 2
movzx eax, al
shl eax, 4
pop ecx
pop ecx
add ebx, eax
jne 0x5760ac
jmp 0x576035
cmp al, 0x23
je 0x5760b9
test edx, edx
jne 0x576012
cmp al, 0x3f
je 0x5760b9
cmp edx, 1
jne 0x576027
cmp al, 0x3d
je 0x5760b9
cmp al, 0x26
je 0x5760b9
cmp edx, 2
jne 0x576034
cmp al, 0x26
je 0x5760b9
inc esi
mov al, byte [esi + edi]
test al, al
jne 0x575ffe
jmp 0x5760b9
cmp edx, 1
jne 0x576091
cmp bl, 0x26
je 0x57604d
cmp bl, 0x3d
jne 0x5760ac
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
cmp byte [eax + ecx - 1], 0
je 0x57607e
cmp bl, 0x26
jne 0x576087
mov ebx, eax
mov eax, ecx
mov byte [ebx + eax], 0
inc eax
mov dword [ebp - 4], eax
mov eax, ebx
mov ecx, dword [ebp - 4]
jmp 0x57608d
cmp al, 0x23
je 0x5760b9
cmp byte [esi + edi - 1], 0x26
je 0x5760b9
inc esi
mov al, byte [esi + edi]
test al, al
jne 0x576072
jmp 0x5760b9
push 2
pop edx
mov dword [ebp - 0x10], edx
xor bl, bl
jmp 0x5760b2
test edx, edx
jne 0x57609a
cmp bl, 0x3f
je 0x5760a4
cmp edx, 2
jne 0x5760ac
cmp bl, 0x26
jne 0x5760ac
xor edx, edx
xor bl, bl
inc edx
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov byte [eax + ecx], bl
inc ecx
mov dword [ebp - 4], ecx
mov bl, byte [esi + edi]
test bl, bl
jne 0x575f9f
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 4]
cmp edx, 1
jne 0x5760dc
mov byte [ebx + eax], 0
inc eax
jmp 0x5760dc
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 4]
push ebx
mov word [ebx + eax], 0
call fcn.0057c78b
pop ecx
lea esi, [ebx + 1]
jmp 0x576228
push esi
call fcn.0057c78b
mov edi, eax
lea eax, [esi + 1]
add eax, edi
mov dword [ebp - 4], edi
push eax
mov dword [ebp - 8], eax
call fcn.0057c78b
mov dword [ebp - 0x1c], eax
pop ecx
pop ecx
cmp edi, 3
jne 0x576132
push edi
push esi
push 0x6b5044
call fcn.005f42fa
add esp, 0xc
test eax, eax
jne 0x576132
mov eax, dword [ebp - 8]
mov dword [ebp + 8], eax
jmp 0x576224
xor eax, eax
xor edi, edi
and dword [ebp - 0x10], eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
cmp eax, 5
jne 0x57616e
push eax
push esi
push str.cache
call fcn.005f42fa
add esp, 0xc
test eax, eax
jne 0x57616b
mov eax, 0x722014
mov dword [ebp - 0x10], str.cache
mov edi, 0x60000
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 4], edi
cmp eax, 4
jne 0x5761a9
push eax
push esi
push str.mode
mov dword [ebp - 4], edi
call fcn.005f42fa
add esp, 0xc
test eax, eax
jne 0x5761a9
mov ecx, dword [ebp - 0xc]
mov eax, 0x87
and ecx, eax
mov dword [ebp - 0x10], str.access
mov edi, eax
mov dword [ebp - 4], ecx
mov esi, 0x72202c
jmp 0x5761ac
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x576221
xor ecx, ecx
mov dword [ebp - 0x18], ecx
cmp dword [esi], ecx
je 0x5761f0
mov eax, esi
mov eax, dword [eax]
push eax
mov dword [ebp - 0x20], eax
call fcn.0057c78b
pop ecx
mov ecx, dword [ebp - 0x1c]
cmp ecx, eax
jne 0x5761e1
push ecx
push dword [ebp - 0x20]
push dword [ebp - 8]
call fcn.005f42fa
add esp, 0xc
test eax, eax
je 0x576200
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
lea eax, [esi + eax*8]
cmp dword [eax], 0
jne 0x5761bb
push dword [ebp - 8]
push dword [ebp - 0x10]
push str.no_such__s_mode:__s
jmp 0x575f82
mov ecx, dword [ebp - 0x18]
mov ecx, dword [esi + ecx*8 + 4]
test ecx, ecx
je 0x5761f0
mov eax, ecx
and eax, 0xffffff7f
cmp eax, dword [ebp - 4]
jg 0x576235
not edi
and edi, dword [ebp - 0xc]
or edi, ecx
mov dword [ebp - 0xc], edi
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x1c]
inc esi
add esi, eax
cmp byte [esi], 0
jne 0x5760f1
jmp 0x57627d
push dword [ebp - 8]
push dword [ebp - 0x10]
push str._s_mode_not_allowed:__s
call fcn.00549c64
add esp, 0xc
mov dword [ebp - 0x14], 3
jmp 0x5762a6
lea eax, [esi + 2]
cdq
push edx
push eax
call fcn.0054a04c
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x575f25
push esi
push edi
push ebx
call fcn.005f2e80
add esp, 0xc
mov word [ebx + esi], 0
and dword [ebp - 0xc], 0xffffffbf
mov esi, dword [ebp + 8]
push esi
call fcn.00549236
pop ecx
mov ecx, eax
mov eax, dword [ebp + 0x14]
mov dword [eax], ecx
test ecx, ecx
jne 0x5762b4
push esi
push str.no_such_vfs:__s
call fcn.00549c64
pop ecx
pop ecx
mov dword [ebp - 0x14], 1
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
push ebx
call fcn.0054a0b7
pop ecx
xor ebx, ebx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0xc]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x14]
mov dword [ecx], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret