Function at 0x565594
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
call fcn.00590cc4
test byte [ebp - 0x14], 0x40
mov esi, eax
jne 0x5655d6
cmp dword [0x62e0f8], 0
je 0x5659cd
cmp esi, 5
jl 0x5659cd
mov edx, str.file:
mov ecx, 5
mov eax, dword [ebp - 8]
call fcn.0054b574
test eax, eax
jne 0x5659cd
xor edi, edi
mov dword [ebp - 0x24], edi
lea edx, [esi + 2]
or dword [ebp - 0x14], 0x40
xor ebx, ebx
mov eax, dword [ebp - 8]
cmp esi, ebx
jle 0x56561f
cmp byte [eax], 0x26
sete cl
and ecx, 1
inc ebx
add edx, ecx
inc eax
cmp esi, ebx
jg 0x56560e
mov eax, edx
call fcn.00596c68
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x565639
mov eax, 7
jmp 0x565a5d
mov edx, dword [ebp - 8]
cmp byte [edx + 5], 0x2f
jne 0x5656b2
mov ecx, dword [ebp - 8]
cmp byte [ecx + 6], 0x2f
jne 0x5656b2
mov ebx, 7
mov eax, dword [ebp - 8]
lea esi, [eax + 7]
jmp 0x56565a
inc ebx
inc esi
cmp byte [esi], 0
je 0x565664
cmp byte [esi], 0x2f
jne 0x565658
cmp ebx, 7
je 0x5656b7
cmp ebx, 0x10
jne 0x565687
mov edx, dword [ebp - 8]
add edx, 7
mov eax, str.localhost
mov ecx, 9
call fcn.0054b574
test eax, eax
je 0x5656b7
mov ecx, dword [ebp - 8]
add ecx, 7
add ebx, 0xfffffff9
push ecx
push ebx
push str.invalid_uri_authority:__.s
call fcn.005966e8
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [ebp - 0x10], 1
jmp 0x565a37
mov ebx, 5
xor eax, eax
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
lea esi, [edx + ecx - 1]
jmp 0x5657fc
inc ebx
cmp al, 0x25
jne 0x565785
mov edx, dword [ebp - 8]
xor ecx, ecx
mov cl, byte [edx + ebx]
test byte [ecx + 0x62e2f0], 8
je 0x565785
mov edx, dword [ebp - 8]
xor ecx, ecx
mov cl, byte [edx + ebx + 1]
test byte [ecx + 0x62e2f0], 8
je 0x565785
mov eax, ebx
mov edx, dword [ebp - 8]
inc ebx
movsx eax, byte [edx + eax]
call fcn.00591a80
mov edi, eax
mov eax, ebx
mov edx, dword [ebp - 8]
and edi, 0xff
shl edi, 4
inc ebx
movsx eax, byte [edx + eax]
call fcn.00591a80
xor edx, edx
mov dl, al
add edi, edx
test edi, edi
jne 0x565781
mov ecx, dword [ebp - 8]
lea edx, [ecx + ebx]
jmp 0x56573c
inc ebx
inc edx
mov al, byte [edx]
test al, al
je 0x5656bc
cmp al, 0x23
je 0x5656bc
cmp dword [ebp - 0x20], 0
jne 0x56575c
cmp al, 0x3f
je 0x5656bc
cmp dword [ebp - 0x20], 1
jne 0x565772
cmp al, 0x3d
je 0x5656bc
cmp al, 0x26
je 0x5656bc
cmp dword [ebp - 0x20], 2
jne 0x56573a
cmp al, 0x26
jne 0x56573a
jmp 0x5656bc
mov eax, edi
jmp 0x5657f5
cmp dword [ebp - 0x20], 1
jne 0x5657d8
cmp al, 0x26
je 0x565793
cmp al, 0x3d
jne 0x5657d8
cmp byte [esi], 0
jne 0x5657bf
mov ecx, dword [ebp - 8]
lea edx, [ecx + ebx]
jmp 0x5657a2
inc ebx
inc edx
mov al, byte [edx]
test al, al
je 0x5656bc
cmp al, 0x23
je 0x5656bc
cmp byte [edx - 1], 0x26
jne 0x5657a0
jmp 0x5656bc
cmp al, 0x26
jne 0x5657cd
mov byte [esi + 1], 0
inc dword [ebp - 0x24]
inc esi
jmp 0x5657d4
mov dword [ebp - 0x20], 2
xor eax, eax
jmp 0x5657f5
cmp dword [ebp - 0x20], 0
jne 0x5657e2
cmp al, 0x3f
je 0x5657ec
cmp dword [ebp - 0x20], 2
jne 0x5657f5
cmp al, 0x26
jne 0x5657f5
mov dword [ebp - 0x20], 1
xor eax, eax
mov byte [esi + 1], al
inc dword [ebp - 0x24]
inc esi
mov edx, dword [ebp - 8]
mov al, byte [edx + ebx]
test al, al
je 0x56580e
cmp al, 0x23
jne 0x5656cb
cmp dword [ebp - 0x20], 1
jne 0x565821
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x24]
mov byte [ecx + ebx], 0
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov byte [eax + edx], 0
inc dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x24]
mov byte [ecx + ebx], 0
mov eax, dword [ebp - 0x1c]
call fcn.00590cc4
mov ebx, eax
add ebx, dword [ebp - 0x1c]
inc ebx
jmp 0x5659c2
mov eax, ebx
call fcn.00590cc4
mov esi, eax
lea eax, [ebx + esi + 1]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
call fcn.00590cc4
mov edi, eax
cmp esi, 3
jne 0x56588a
mov eax, 0x62b495
mov ecx, 3
mov edx, ebx
call fcn.0054b574
test eax, eax
jne 0x56588a
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x18], esi
jmp 0x5659bc
xor eax, eax
xor edx, edx
mov dword [ebp - 0x2c], eax
xor ecx, ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], ecx
xor ecx, ecx
cmp esi, 5
mov dword [ebp - 0x38], ecx
jne 0x5658d3
mov eax, str.cache
mov ecx, 5
mov edx, ebx
call fcn.0054b574
test eax, eax
jne 0x5658d3
mov dword [ebp - 0x34], 0x60000
mov dword [ebp - 0x2c], 0x62b054
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], str.cache
cmp esi, 4
jne 0x56590b
mov eax, str.mode
mov ecx, 4
mov edx, ebx
call fcn.0054b574
test eax, eax
jne 0x56590b
mov dword [ebp - 0x34], 0x87
mov dword [ebp - 0x2c], 0x62b06c
mov esi, dword [ebp - 0x34]
and esi, dword [ebp - 0x14]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x30], str.access
cmp dword [ebp - 0x2c], 0
je 0x5659bc
xor eax, eax
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x2c]
mov ebx, edx
jmp 0x565949
mov esi, eax
mov eax, esi
call fcn.00590cc4
cmp edi, eax
jne 0x565946
mov ecx, edi
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.0054b574
test eax, eax
jne 0x565946
mov edx, dword [ebx + 4]
mov dword [ebp - 0x3c], edx
jmp 0x56594f
add ebx, 8
mov eax, dword [ebx]
test eax, eax
jne 0x565921
cmp dword [ebp - 0x3c], 0
jne 0x56597b
mov edx, dword [ebp - 0x28]
push edx
mov ecx, dword [ebp - 0x30]
push ecx
push str.no_such__s_mode:__s
call fcn.005966e8
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [ebp - 0x10], 1
jmp 0x565a37
mov eax, dword [ebp - 0x3c]
and eax, 0xffffff7f
cmp eax, dword [ebp - 0x38]
jle 0x5659ae
mov ecx, dword [ebp - 0x28]
push ecx
mov eax, dword [ebp - 0x30]
push eax
push str._s_mode_not_allowed:__s
call fcn.005966e8
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [ebp - 0x10], 3
jmp 0x565a37
mov ecx, dword [ebp - 0x34]
not ecx
and ecx, dword [ebp - 0x14]
or ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], ecx
mov ebx, dword [ebp - 0x28]
add ebx, edi
inc ebx
cmp byte [ebx], 0
jne 0x56584b
jmp 0x565a05
lea eax, [esi + 2]
call fcn.00596c68
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x5659e5
mov eax, 7
jmp 0x565a5d
mov ecx, esi
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
call fcn.0054b5d8
mov edx, dword [ebp - 0x1c]
mov byte [edx + esi], 0
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + esi + 1], 0
and dword [ebp - 0x14], 0xffffffbf
mov eax, dword [ebp - 0x18]
call fcn.00597d64
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 0
jne 0x565a37
mov eax, dword [ebp - 0x18]
push eax
push str.no_such_vfs:__s
call fcn.005966e8
add esp, 8
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x10], 0
je 0x565a4a
mov eax, dword [ebp - 0x1c]
call fcn.00596e3c
xor edx, edx
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x14]
mov dword [ecx], ebx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc